代码混淆工具 Stunnix-CXX-Obfus 的使用

阚乐湛
2023-12-01

代码混淆工具 Stunnix-CXX-Obfus 的使用

下载和安装工具

mkdir -p /home/cxx_obfus/
wget http://stunnix.com/pad/trial-nomail/cxxo/Stunnix-CXX-Obfus-4.7-Linux-trial.zip
unzip Stunnix-CXX-Obfus-4.7-Linux-trial.zip

经过解压后:
/home/cxx_obfus/bin/cxx-obfus 就是可执行的应用脚本文件。

查看工具的帮助

/home/cxx_obfus/bin/cxx-obfus --help

参数说明:

参数说明
--keep-spaces保留空白字符
--keep-newlines保留空换行
-n none不修改数值
-c none不修改字符
-s none不修改字符串
-i none不修改标识符
-i prefix,str=XXX_标识符前面加 “XXX_”
-x <excluded_identify_file_name>保留标识符文件,文件每一行放置一个保留标识符,该标识符不会被修改。文件中可以使用 # 来注释
-S multifile,outdir=<output_directory_path>多个文档输出的路径

注意:
因为有的 uint8, uint16 等等的标识符。修改了,编译怕会有问题。最好使用 -x 设置保留标识符。

修改单个文件

# 只去除 注释。
/home/cxx_obfus/bin/cxx-obfus --keep-spaces --keep-newlines -c none -n none -s none -i none hash.c -o xxx_hash.c 

# 只去除 注释 + 修改 标识符 
/home/cxx_obfus/bin/cxx-obfus --keep-spaces --keep-newlines -c none -n none -s none -i prefix,str=XXX_ hash.c -o xxx_hash.c 

修改多个文件

# 输出当前目录下的 hash.c hash.h
/home/cxx_obfus/bin/cxx-obfus --keep-spaces --keep-newlines -c none -n none -s none -i none  -S multifile,outdir=/tmp/xxx_output hash.c hash.h

# 输出同一目子录下的 *.c *.h 文件	
/home/cxx_obfus/bin/cxx-obfus --keep-spaces --keep-newlines -c none -n none -s none -i none  -S multifile,outdir=/tmp/xxx_output ./sub_dir/*.c ./sub_dir/*.h
 类似资料: