O-llvm是基于llvm进行编写的一个开源项目(github.com/obfuscator-l),它的作用是对前端语言生成的中间代码进行混淆,目前在市场上,一些加固厂商(比如360加固宝、梆梆加固)会使用改进的O-llvm对它们so文件中的一些关键函数采用O-llvm混淆,增加逆向的难度。因此,掌握O-llvm的实现过程,是很有必要的。O-llvm总体构架和l...
git clone https://github.com/yazhiwang/ollvm-tll.git mkdir build cd build // 编译 cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release ../ollvm-tll/ make -j7 // 编译完成后,连接NDK $(NDK_FOLDER)/toolchains/ cp -rf llvm orig_llvm cd llvm/prebuilt/darwin-x86_64 # it depends ...
O-llvm是基于llvm进行编写的一个开源项目(https://github.com/obfuscator-llvm/obfuscator),它的作用是对前端语言生成的中间代码进行混淆,目前在市场上,一些加固厂商(比如360加固宝、梆梆加固)会使用改进的O-llvm对它们so文件中的一些关键函数采用O-llvm混淆,增加逆向的难度。因此,掌握O-llvm的实现过程,是很有必要...
git clone -b llvm-4.0 https://github.com/obfuscator-llvm/obfuscator.git mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release ../obfuscator/ make -j7 编译成功之后 clang 在 build 下的 bin 目录。 三、集成到 Xcode 使用 (1) 修改 Info.plist 首先复制一个 Obfuscator.xcplugin: 1 2 3 4 ...
再例如 http://www.exchen.net/ios-hacker-obfuscator-llvm-xcode%E9%9B%86%E6%88%90%E9%85%8D...
O-llvm是基于llvm进行编写的一个开源项目(https://github.com/obfuscator-llvm/obfuscator),它的作用是对前端语言生成的中间代码进行混淆,目前在市场上,一些加固厂商(比如360加固宝、梆梆加固)会使用改进的O-llvm对它们so文件中的一些关键函数采用O-llvm混淆,增加逆向的难度。因此,掌握O-llvm的实现过程,是很有必要...
1.2 如果1.1报GitHub 443端口错误,可以通过https://github.com/heroims/obfuscator/archive/refs/heads/llvm-8.0.zip下载。 2.编译 2.1 新建build目录(mkdir build) 2.2 进入build目录(cd build) 2.3 cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_CREATE_XCODE_TOOLCHAIN=ON -DLLVM_INCLUDE_TESTS=OFF ../obfuscat...
有些情况下我们使用 Theos 开发 tweak,需要将 obfuscator-llvm 集成到 Theos 里,这样编译出来的 dylib 也是混淆的。通过 官方的使用说明 了解,使用 obfuscator-llvm 的 clang 去编译程序,后面添加 -mllv -fla 参数就可以混淆,那这样只要在 Makefile 将 clang 的路径修改成 obfuscator-llvm 的,然后再添加参数不就...
三、集成到 Xcode 使用 (1) 修改 Info.plist 首先复制一个 Obfuscator.xcplugin: cd /Applications/Xcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins/sudo cp -r Clang\ LLVM\ 1.0.xcplugin/ Obfuscator.xcplugincd Obfuscator.xcplugin/Contents/sudo pluti...
obfuscator-llvm Xcode集成配置 有些情况下我们使用 Theos 开发 tweak,需要将 obfuscator-llvm 集成到 Theos 里,这样编译出来的 dylib 也是混淆的。通过官方的使用说明了解,使用 obfuscator-llvm 的 clang 去编译程序,后面添加 -mllv -fla 参数就可以混淆,那这样只要在 Makefile 将 clang 的路径修改成 obfuscator-ll...