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