iOS Hacker obfuscator-llvm Xcode集成配置
来源:互联网 发布:2017年python饱和了 编辑:程序博客网 时间:2024/06/04 19:46
一、简介
obfuscator-llvm 是一个开源的代码混淆编译器,能够使编译出来的文件添加垃圾代码和各种跳转流程,给逆向分析者增加难度。
二、编译
下载地址
目前最新版的是4.0的,下载地址是 https://github.com/obfuscator-llvm/obfuscator/tree/llvm-4.0,也可以用 git 下载。
安装 cmake
OSX 下没有 cmake,需要安装,不然是不能编译 obfuscator-llvm 的。下载地址是:http://www.cmake.org/download,我下的版本是3.4.3。下载完成之后,进入到解压之后目录下,输入以下命令进行安装
sudo ./bootstrap && sudo make && sudo make install
编译
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 目录。
三、集成到 Xcode 使用
修改 xcplugin
首先复制一个 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
将以下键值修改一下
<string>com.apple.compilers.clang</string> -> <string>com.apple.compilers.obfuscator</string><string>Clang LLVM 1.0 Compiler Xcode Plug-in</string> -> <string>Obfuscator Xcode Plug-in</string>
修改 xcspec
执行如下命令
sudo plutil -convert binary1 Info.plistcd Resources/sudo mv Clang\ LLVM\ 1.0.xcspec Obfuscator.xcspecsudo vim Obfuscator.xcspec
将以下键值修改一下
<key>Description</key><string>Apple LLVM 8.0 compiler</string> -> <string>Obfuscator 4.0 compiler</string><key>ExecPath</key><string>clang</string> -> <string>/path/to/obfuscator_bin/clang</string><key>Identifier</key><string>com.apple.compilers.llvm.clang.1_0</string> -> <string>com.apple.compilers.llvm.obfuscator.4_0</string><key>Name</key><string>Apple LLVM 8.0</string> -> <string>Obfuscator 4.0</string><key>Vendor</key><string>Apple</string> -> <string>HEIG-VD</string><key>Version</key><string>7.0</string> -> <string>4.0</string>
修改 English.lproj
执行如下命令
cd English.lproj/sudo mv Apple\ LLVM\ 5.1.strings "Obfuscator 3.4.strings"sudo plutil -convert xml1 Obfuscator\ 3.4.stringssudo vim Obfuscator\ 3.4.strings 将以下键值修改一下
将以下键值修改一下
<key>Description</key><string>Apple LLVM 8.0 compiler</string> -> <string>Obfuscator 4.0 compiler</string><key>Name</key><string>Apple LLVM 8.0</string> -> <string>Obfuscator 4.0</string><key>Vendor</key><string>Apple</string> -> <string>HEIG-VD</string><key>Version</key><string>7.0</string> -> <string>4.0</string>
最后执行以下命令就大功告成了
$ sudo plutil -convert binary1 Obfuscator\ 3.4.strings
去 Xcode 里看下编译设置
然后添加 obfuscation flags
四、效果
混淆之后,用静态工具分析效果如下图:
阅读全文
0 0
- iOS Hacker obfuscator-llvm Xcode集成配置
- Obfuscator-LLVM各系统环境配置
- LLVM-Obfuscator C/C++ 混淆编译的深入研究(ios 和android双平台)
- iOS Hacker Xcode使用和内联汇编
- 记一下混淆器 obfuscator-llvm
- iOS Hacker Xcode玩转arm64汇编基础
- Android LLVM-Obfuscator C/C++ 混淆编译的深入研究
- Android LLVM-Obfuscator C/C++ 混淆编译的深入研究
- 使用obfuscator llvm 和andorid NDK进行代码混淆
- iOS中llvm-Obfuscation的配置
- 解决XCODE配置LLVM环境出现的问题
- ios更改Xcode配置
- iOS Xcode重要配置
- iOS Xcode部署配置
- iOS xcode ~pilst(配置)
- Jenkins与xcode ios持续集成
- 关于IOS开发工具XCode工具出现 OS APPle LLVM 5.02 error问题
- 关于IOS开发工具XCode工具出现 OS APPle LLVM 5.02 error问题
- 代理模式
- 英语课程微信预约系统-乐享其约
- Spring Boot 之jpa(二)数据库
- sort2——随机数生成测试样例
- JavaSE_笔试题_多选选择题1
- iOS Hacker obfuscator-llvm Xcode集成配置
- spring
- RHEL6.5环境的基础配置
- python编程之执行带有局部副作用的代码
- 最强表格渲染框架
- Android Services设置ProgressBar(进度条的值)
- hdu3118(二分图位判断)
- 好文链接
- CentOS 7.0关闭默认防火墙启用iptables防火墙