新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
obfuscator-llvm 是一个开源的代码混淆编译器,能够使编译出来的文件添加垃圾代码和各种跳转流程,给逆向分析者增加难度。
成都创新互联公司2013年成立,先为巴林右旗等服务建站,巴林右旗等地企业,进行企业商务咨询服务。为巴林右旗企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
(1) 下载
目前最新版的是4.0的,下载地址是 https://github.com/obfuscator-llvm/obfuscator/tree/llvm-4.0,也可以用 git 下载。
(2) 安装 cmake
OSX 下没有 cmake,需要安装,不然是不能编译 obfuscator-llvm 的。下载地址是:http://www.cmake.org/download,我下的版本是3.4.3。下载完成之后,进入到解压之后目录下,输入以下命令进行安装
sudos ./bootstrap && sudo make && sudo make install
(3) 编译
git clone -b llvm-4.0 https://github.com/obfuscator-llvm/obfuscator.gitmkdir buildcd buildcmake -DCMAKE_BUILD_TYPE=Release ../obfuscator/make -j7
编译成功之后 clang 在 build 下的 bin 目录。
(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 plutil -convert xml1 Info.plistsudo vim Info.plist
将以下键值修改一下:
com.apple.compilers.clang ->com.apple.compilers.obfuscator Clang LLVM 1.0 Compiler Xcode Plug-in ->Obfuscator Xcode Plug-in
修改完成,执行以下命令:
sudo plutil -convert binary1 Info.plist
(2) 修改 xcspec
执行如下命令:
cd Resources/sudo mv Clang\ LLVM\ 1.0.xcspec Obfuscator.xcspecsudo vim Obfuscator.xcspec
将以下键值修改一下:
Description Apple LLVM 8.0 compiler ->Obfuscator 4.0 compiler ExecPath clang ->/path/to/obfuscator_bin/clang Identifier com.apple.compilers.llvm.clang.1_0 ->com.apple.compilers.llvm.obfuscator.4_0 Name Apple LLVM 8.0 ->Obfuscator 4.0 Vendor Apple ->HEIG-VD Version 8.0 ->4.0
(3) 修改 strings
执行如下命令:
cd English.lproj/sudo mv Apple\ LLVM\ 8.0.strings "Obfuscator 4.0.strings"sudo plutil -convert xml1 Obfuscator\ 4.0.stringssudo vim Obfuscator\ 4.0.strings
将以下键值修改一下:
Description Apple LLVM 8.0 compiler ->Obfuscator 4.0 compiler Name Apple LLVM 8.0 ->Obfuscator 4.0 Vendor Apple ->HEIG-VD Version 8.0 ->4.0
最后执行以下命令:
$ sudo plutil -convert binary1 Obfuscator\ 4.0.strings
(4) 修改 Xcode 的编译设置
打开 Xcode,选择一个项目,修改 Build Setting 的 GCC_VERSION 为 Obfuscator 4.0,如图 12-6 所示。
然后添加 obfuscation flags
混淆之后,用静态工具分析效果如下图:
原文地址:https://www.exchen.net/ios-hacker-obfuscator-llvm-xcode%e9%9b%86%e6%88%90%e9%85%8d%e7%bd%ae.html