- 介绍 Reveal 和 FLEX
- 安装 MonkeyDev 和 Theos 环境
- 对 ipa 进行脱壳处理。
- 集成 Reveal 和 FLEX
- 成果演示 - 抖音APP示例
- Reveal是一个iOS程序界面调试工具,可以在Reveal上查看视图的层级和修改控件的属性,用来调试UI。
- Reveal允许开发者在不修改代码、不重新构建项目、不重新部署应用程序的情况下就能够调试iOS应用的用户界面。
- 对于官网下载的Reveal,默认给予的是14天左右的试用时间。
- 首先 https://revealapp.com/download/ 从官网下载reveal,并填写自己(未注册过)的邮箱。
- 然后会收到一封邮件,包含试用的激活码。
- 打开reveal 输入激活码即可。
- 试用到期后,把电脑时间调整到注册日期之时,然后再打开reveal即可恢复试用时间。
Reveal 功能演示与下载地址:https://revealapp.com/
- Flipboard/ FLEX (Flipboard Explorer) 是 Flipboard 发布的应用内调试工具,开发者可在toolbar中查看和修改运行中的应用。
- 可通过pod方式:pod 'FLEX', '~> 2.0'
-
快速查看打印日志(来自NSLog)
-
动态修改对象属性值。
-
动态调用实例和类方法。
FLEX官方地址:https://github.com/Flipboard/FLEX
######安装Theos 脚本地址:https://github.com/bigsen/Theos-Script 演示安装:
详细安装说明与步骤:https://www.jianshu.com/p/2d2c492a283c
######安装MonkeyDev
- MonkeyDev ,是越狱开发iOSOpenDev的升级,非越狱插件开发集成神器
- 官方文档:https://github.com/AloneMonkey/MonkeyDev/wiki
git clone https://github.com/AloneMonkey/MonkeyDev.git
cd MonkeyDev/bin
sudo ./md-install
-
利用"dumpdecrypted"给ipa砸壳:https://www.jianshu.com/p/a4373b5feca0
-
一条命令砸壳 (详细菜鸟版) :https://www.jianshu.com/p/6eb62eabb988
还有一种办法: 通过越狱设备, 下载pp助手越狱版, 使用PP助手越狱版本对应APP到手机上。 . 然后使用ifunbox, 从/var/mobile/Containers/Bundle/Application 中找到,拷贝出来.app 包即可。
- Reveal 工具
- FLEX 工具
- MonkeyDev 环境
- 脱壳后的IPA 文件
(1)新建 MonkeyDev 工程。
(2)替换 Reveal Framework 为自己电脑当前对应版本。
- 使用自己电脑的RevealServer.framework替换掉/opt/MonkeyDev/frameworks下面的RevealServer.framework。
sudo rm -f -r /opt/MonkeyDev/Frameworks/RevealServer.framework
sudo cp -f -r /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/RevealServer.framework /opt/MonkeyDev/Frameworks/RevealServer.framework
(3)MonkeyDev 工程添加FLEX Pod依赖。
- 打开 MonkeyDev 工程中的 Podfile,在target ' XXX Dylib' do 里面填写pod 'FLEX', '~> 2.0'。
(4)注册监听,初始化FLEXManager。
- 导入头文件。
- 在CHConstructor里注册DidFinish监听,初始化FLEX。
- 然后运行即可。
某些APP会Crash,需要打开AntiAntiDebug.m,取消注释这句话。 rebind_symbols((struct rebinding[1]){{"sysctl", my_sysctl, (void*)&orig_sysctl}},1);
越狱后可以做很多事情,集成Reveal 和 Flex 只是其中小小的功能而已。
https://github.com/bigsen/CrackeApp
- 《iOS逆向工程》
- 《iOS应用与逆向安全》