大名鼎鼎的
MonkeyDev就不多介绍了,给上链接:
项目地址:
https://github.com/AloneMonkey/MonkeyDev
中文wiki:
https://github.com/AloneMonkey/MonkeyDev/wiki/%E5%AE%89%E8%A3%85
MonkeyDev环境要求
使用工具前确保如下几点:
- 安装最新的theos
sudo git clone --recursive https://github.com/theos/theos.git /opt/theos
安装完的路径为/opt/theos

- 安装ldid(如安装theos过程安装了ldid,跳过)
brew install ldid
此步骤需要确保已经安装了homebrew
如果没有安装homebrew,可以按照如下方式安装:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
如果已安装,homebrew在安装新软件时首先会自动进行更新:
看到Updating Homebrew...不要着急,3-10分钟后会更新完成
ldid安装成功如下:

- 配置免密码登录越狱设备(如果没有越狱设备,跳过)
ssh-keygen -t rsa -P ''
ssh-copy-id -i /Users/username/.ssh/id_rsa root@ip
或者安装sshpass自己设置密码:
brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
MonkeyDev安装
你可以通过以下命令选择指定的Xcode进行安装:
sudo xcode-select -s /Applications/Xcode-beta.app
默认安装的Xcode为:
xcode-select -p
执行安装命令:
sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-install)"
安装过程如下:
Last login: Tue Nov 27 08:54:39 on console
CodingIrans-MacBook-Pro:~ Iran$ sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-install)"
Password:
Downloading MonkeyDev base from Github...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3456k 0 3456k 0 0 38955 0 --:--:-- 0:01:30 --:--:-- 190k
Downloading Xcode templates from Github...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 286k 0 286k 0 0 166k 0 --:--:-- 0:00:01 --:--:-- 166k
Downloading frida-ios-dump from Github...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9669 100 9669 0 0 4154 0 0:00:02 0:00:02 --:--:-- 4155
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 8930 100 8930 0 0 7703 0 0:00:01 0:00:01 --:--:-- 7698
Creating symlink to Xcode templates...
Modifying Bash personal initialization file...
CodingIrans-MacBook-Pro:~ Iran$
MonkeyDev卸载
sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-uninstall)"
MonkeyDev更新
如果没有发布特殊说明,使用如下命令更新即可:
sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-update)"
安装/更新之后重启下Xcode再新建项目
MonkeyDev的使用
创建项目
安装完成之后,打开Xcode,点击File - New - Project...,选择iOS滑动到最下方可以看到MonkeyDev提供的模块:

选择相应的项目类型,就可以创建对应的项目
非越狱App集成
选真机编译运行!
准备好砸壳的ipa或者app
第一步是准备好砸壳的ipa或者app,可以从某助手下载越狱应用(下载的也有没砸壳的QAQ)
这里用PP助手举例:


创建MonkeyApp项目
点击File - New - Project...创建iOS项目,选择MonkeyApp

然后填写
Product Name,对于非越狱设备可以不用管Target App,如果是越狱设备的话可以在Target App填写目标App的名字或者bundle id,工具将会自动使用frida-ios-dump提取ipa文件(注意:要先按frida-ios-dump repo的README配置好环境!),如下所示:
另外
/opt/MonkeyDev/bin/dump.py里面可以指定 ip、port以及password
创建完成之后,你会得到一个这样的工程:

这里我创建的项目名字就是
MonkeyApp,所以下面对应的都是MonkeyApp,你自己创建的由你的项目名字而定!
MonkeyAppDylib这个是将被注入目标App的动态库,你自己要hook的代码可以在MonkeyAppDylib.m文件里面写,我在里面写了一些Demo代码,支持OC runtime的HOOK,C函数的fishhook。还支持theos logtweak的写法! 直接写在MonkeyAppDylib.xm文件文件即可。
Config 这个是cycript的一些脚本下载以及methodtrace配置代码。
LLDBTools 这个是用于LLDB调试的代码,比如po pviews()。
AntiAntiDebug 这个里面是反反调试的代码。
fishhook 这个是自动集成的fishhook模块。
创建的项目已经自动集成了RevealServer.framework和libcycript.dylib,如果选择Release编译的话是不会集成的。
拖入编译
将刚才下载的砸壳微信ipa包拖入TargetApp文件夹:

或者更方便的,直接将ipa拖入Xcode下TargetApp文件下:

非越狱设备Reveal
Run完工程之后你可以配合Reveal进行视图查看:

如果Mac安装的Reveal版本较新,可能会报如下错:

这是因为
MonkeyDev没有集成最近的Reveal包,需要手动替换,MonkeyDev下的Reveal包路径如下:/opt/MonkeyDev/Frameworks
需要注意:
RevealServer的版本需要跟Mac上安装的Reveal.app版本保持一致
然后编译运行,打开电脑的Reveal,就可以看到界面了:

