一、简介
obfuscator-llvm是一个开源的代码混淆编译器,能够使编译出来的文件添加垃圾代码和各种跳转流程,给逆向分析者增加难度。
二、编译
(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 安装
(3)编译
git clone -b llvm - 4.0, https://github.com/obfuscator-llvm/obfuscator.gitmkdir buildcd buildcmake -DCMAKE_BUILD_TYPE=Release . ./模糊处理/make -j7
编译成功之后叮当声在构建下的本目录。
三,集成到Xcode使用
(1)修改信息。plist
首先复制一个模糊处理。xcplugin:
cd /应用程序/Xcode/内容/插件/Xcode3Core.ideplugin/内容/SharedSupport/开发/图书馆/Xcode/插件/sudo cp -r 叮当声\,LLVM \, 1.0.xcplugin/, Obfuscator.xcplugincd Obfuscator.xcplugin/内容/sudo plutil -convert xml1 Info.plistsudo vim 信息。plist
将以下键值修改一下:
& lt; string> com.apple.compilers.clang,→, & lt; string> com.apple.compilers.obfuscator & lt; string> Clang LLVM 1.0, Compiler Xcode Plug-in,→, & lt; string> Obfuscator Xcode Plug-in
修改完成,执行以下命令:
sudo plutil -convert binary1 信息。plist
(2)修改xcspec
执行如下命令:
cd 资源/sudo mv 叮当声\,LLVM \, 1.0.xcspec Obfuscator.xcspecsudo vim 模糊处理。xcspec
将以下键值修改一下:
& lt; key> Description & lt; string> Apple LLVM 8.0, compiler,→, & lt; string> Obfuscator 4.0, compiler & lt; key> ExecPath & lt; string> clang,→, & lt; string>/道路//obfuscator_bin/clang & lt; key> Identifier & lt; string> com.apple.compilers.llvm.clang.1_0,→, & lt; string> com.apple.compilers.llvm.obfuscator.4_0 & lt; key> Name & lt; string> Apple LLVM 8.0 & lt;/string>,→, & lt; string> Obfuscator 4.0 & lt;/string> & lt; key> Vendor & lt; string> Apple,→, & lt; string> HEIG-VD & lt; key> Version & lt; string> 8.0 & lt;/string>,→, & lt; string> 4.0 & lt;/string>
(3)修改字符串
执行如下命令:
cd English.lproj/sudo mv 苹果\,LLVM \, 8.0.strings “Obfuscator 4.0.strings" sudo plutil -convert xml1 模糊处理\,4.0.stringssudo vim 模糊处理\ 4.0。字符串
将以下键值修改一下:
& lt; key> Description & lt; string> Apple LLVM 8.0, compiler,→, & lt; string> Obfuscator 4.0, compiler & lt; key> Name & lt; string> Apple LLVM 8.0 & lt;/string>,→, & lt; string> Obfuscator 4.0 & lt;/string> & lt; key> Vendor & lt; string> Apple,→, & lt; string> HEIG-VD & lt; key> Version & lt; string> 8.0 & lt;/string>,→, & lt; string> 4.0 & lt;/string>
最后执行以下命令:
,美元sudo plutil -convert binary1 模糊处理\ 4.0。字符串
(4)修改Xcode的编译设置
打开Xcode,选择一个项目,修改构建设置的GCC_VERSION 4.0为模糊处理,如主队图所示。
然后添加模糊标记
四、效果
混淆之后,用静态工具分析效果如下图:
原文地址:https://www.exchen.net/ios-hacker-obfuscator-llvm-xcode%e9%9b%86%e6%88%90%e9%85%8d%e7%bd%ae.html