首先下载ollvm源码
git clone -b llvm-4.0 https://github.com/obfuscator-llvm/obfuscator.git
然后命令行进入源码目录
cd obfuscator
建立build文件夹
mkdir build
进入build文件夹
cd build
配置cmake编译参数
cmake -DCMAKE_BUILD_TYPE=Release ../
如果出现类似
CMake Error at cmake/modules/AddLLVM.cmake:1163 (add_custom_target):
….
这样的错误
可以这样解决(应该是单元测试的问题,这样关闭单元测试就好了):
cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_INCLUDE_TESTS=OFF ../
然后执行编译(-j7是开启7个线程编译,根据自己的cpu来吧,否则会很卡)
make -j7
下载的源码里已经包含了LLVM和Clang,编译完成后,编译好的二进制程序都存放在build/bin目录下。
将PASS标志传递给Clang的LLVM便可轻松使用OLLVM。 当前可用的标志是:
-fla 控制流扁平化的PASS参数
-sub指令替换的PASS参数
-bcf虚假控制流的PASS参数