iOS Hacker obfuscator-llvm Xcode集成配置
一、简介
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.git mkdir build cd build cmake -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.xcplugin cd Obfuscator.xcplugin/Contents/ sudo plutil -convert xml1 Info.plist sudo 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.plist cd Resources/ sudo mv Clang\ LLVM\ 1.0.xcspec Obfuscator.xcspec sudo 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.strings sudo 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
四、效果
混淆之后,用静态工具分析效果如下图:
iOS Hacker obfuscator-llvm Xcode集成配置相关推荐
- obfuscator-llvm Theos 集成配置
之前我写过一篇文章是关于在 Xcode 里怎么集成配置 obfuscator-llvm obfuscator-llvm Xcode集成配置 有些情况下我们使用 Theos 开发 tweak,需要将 o ...
- xcode各项配置详解
1.Xcode IDE概览 说明:从左到右,依次是"导航窗格(Navigator)->边列(Gutter)->焦点列(Ribbon)->代码编辑窗口(Standard/Pr ...
- 细聊 Cocoapods 与 Xcode 工程配置
前言 文章比较长,所以在文章的开头我打算简单介绍一下这篇文章将要讲述的内容,读者可以选择通篇细度,也可以直接找到自己感兴趣的部分. 既然是谈 Cocoapods,那首先要搞明白它出现的背景.有经验的开 ...
- iOS之深入解析多环境配置的实现方案
一.多 target 形式配置多环境 如下所示,选择工程 TARGETS,新创建一个 targets: 创建完成后,可要发现产生了一个 plist 文件,这个 plist 就是对应新创建的 targe ...
- iOS Hacker 重签名实现无需越狱注入动态库 dylib
iOS Hacker 重签名实现无需越狱注入动态库 dylib 一.获取 ipa 文件 iOS 的应用都是打包成 ipa 的文件格式,ipa 文件实际上就是 zip 格式的文件,通过 unzip 可以 ...
- iOS Hacker 动态库 dylib 注入
iOS Hacker 动态库 dylib 注入 很多情况下我们希望自己写的代码能够在其他应用中运行,如果代码简单的话,可以写 Tweak 或者使用 Cycript.但如果代码多的话,那最好是写一个动态 ...
- iOS编程--Xcode使用指南1--爱的初印象
工欲善其事,必先利其器,熟悉Xcode的操作,可以大大提高我们编码,调试的效率,因此从本篇开始,我会尽量详细的介绍Xcode的使用. 0.Xcode的官方描述: Xcode 是用于构建 Mac OS ...
- Storefront与NetScaler的集成配置 - part1
Storefront与NetScaler的集成配置 - part1 http://kaiqian.blog.51cto.com/blog/236001/1344447 Storefront与NetSc ...
- Xcode SVN配置
Xcode SVN配置 Xcode SVN配置 编辑 ~/.subversion/config 文件 注意:假设".subversion"文件夹不存在.请执行"svn ...
最新文章
- ajax请求数据渲染个人中心页面
- MPB:中国地大侯卫国组-​ 针对热泉原位培养矿物的低质量DNA提取方法
- Question: Short And Long Read Sequencing
- 2017-2019年全国大学生智能汽车竞赛获奖数据分析
- python在线编辑器最新_Editor.md 二次开发-markdown在线编辑器
- 一般处理程序制作的验证码
- 淘宝网的技术发展史(二) ——Oracle替换MySQL
- 注释嵌套注释_注释梦Night
- 文献综述写作之“结构内容”
- 中河广播服务器怎么连接无线话筒,无线话筒怎么连接音响 话筒连接音响方法...
- 2018ICPC赛后总结
- 虚拟机linux下git clone 报SSL connect error错误
- linux黑群晖安装教程,黑群晖菜鸟安装教程(一)制作U盘引导及软洗白!
- C# WinForm拖拽文件+获取exe程序所在目录上上上级目录+复制单个文件并保存+复制某文件夹内文件到另一文件夹
- 神舟战神换cpu教程_神舟战神做工如何?神舟战神K650D-A29拆机图解教程
- Google网站流量统计工具
- 操作系统之进程管理习题
- 励步启蒙 android平板,励步启蒙官方版app
- 遵义微红科技微商分佣返利系统开发,助力香港微商企业全方位拓客!
- 网曝小米HR威胁员工不许仲裁,称“仲裁会留记录,影响子女将来入职小米”!...