MonkeyDev简介
虽然是美国的苹果开发的操作系统,但是要论越狱iPhone和逆向分析来说,那国内远胜于米国了,可能是国内很多相关的灰色产业链吧。在之前,我们想动态调试一个没有源码的应用程序,通常是要借助于THEOS,自己操作LLVM来动态连接到应用程序,然后再使用LLVM的调试命令,整个的过程是非常耗时和繁琐的。
不过在17年的时候,iOS逆向后起之秀AloneMonkey对这些常用的工具进行了一些整合,弄了一个极为方便的逆向调试平台MonkeyDev,这个平台集成了常用的库,工具,并且还可以更加方便的使用pod库来集成三方库。使用这个工具,逆向分析一下子变得容易了。
MonkeyDev主要包含四个模块:
Logos Tweak
使用theos提供的logify.pl工具将.xm文件转成.mm文件进行编译,集成了CydiaSubstrate,可以使用MSHookMessageEx和MSHookFunction来Hook OC函数和指定地址。
CaptainHook Tweak
使用CaptainHook提供的头文件进行OC 函数的Hook以及属性的获取。
Command-line Tool
可以直接创建运行于越狱设备的命令行工具。
MonkeyApp
这是自动给第三方应用集成Reveal、Cycript和注入dylib的模块,支持调试dylib和第三方应用,支持Pod给第三放应用集成SDK,只需要准备一个砸壳后的ipa或者app文件即可。
安装MonkeyDev
关于安装和使用可以查看官方Wiki文档,本文按照以下几个步骤来安装MonkeyDev环境。
1,安装最新的theos,安装命令如下:
sudo git clone --recursive https://github.com/theos/theos.git /opt/theos
2,安装LDID(如安装theos过程安装了LDID,跳过),命令如下:
brew install ldid
3,配置免密码登录越狱设备(如果没有越狱设备,跳过)
ssh-keygen -t rsa -P ''
ssh-copy-id -i /Users/username/.ssh/id_rsa [email protected]
安装或者sshpass自己设置密码:
brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
你可以通过以下命令选择指定的Xcode中进行安装:
sudo xcode-select -s /Applications/Xcode-beta.app
默认安装是:
xcode-select -p
然后执行安装命令:
it clone https://github.com/AloneMonkey/MonkeyDev.git
cd MonkeyDev/bin
sudo ./md-install
当然,不用,运行下面的命令卸载命令:
sudo ./md-uninstall
如果没有发布特殊说明,使用如下命令更新即可:
sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-update)"
使用
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/5920.html