MonkeyDev教程
準備工作(逆向開發(fā)環(huán)境搭建)
1.安裝MonkeyDev
https://github.com/AloneMonkey/MonkeyDev/wiki/%E5%AE%89%E8%A3%85
2.Reveal安裝與使用
http://www.itdecent.cn/p/51c539f61ab0
破解:
defaults delete com.ittybittyapps.Reveal
3.Hopper安裝(反編譯,查看各個類的方法)
https://blog.csdn.net/skylin19840101/article/details/54669815
4.Logos語法介紹(Hook原代碼)
http://iphonedevwiki.net/index.php/Logos
dumpdecrypted砸殼
第1步:鏈接iPhone
使用usbmuxd工具,將本地2222端口轉發(fā)到iOS的22端口
python tcprelay.py -t 22:2222
ssh root@localhost -p 2222
(或者使用命令安裝 brew install usbmuxd
iproxy 2222 22)
第2步:使用 ps 配合 grep 命令來找到微信的可執(zhí)行文件
ps -e | grep WeChat
第3步:使用 Cycript 找到目標應用的 Documents 目錄路徑(Ctrl + D 來退出 cycript)
cycript -p WeChat
NSHomeDirectory()
第5步:將 dumpdecrypted.dylib 拷到 Documents 目錄下
scp -P 2222 /Users/wangxiao/personal/iOS逆向/iOSReverse/dumpdecrypted/dumpdecrypted.dylib root@localhost:/var/mobile/Containers/Data/Application/05D0D9F5-37FB-408A-8B2E-8431BD5FC2C5/Documents
第6步:砸殼
cd到Documents目錄
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/AE093B58-FC0A-4416-8268-8CD5C5C3142D/WeChat.app/WeChat
砸殼報錯
dyld: could not load inserted library 'dumpdecrypted.dylib' because no suitable image found. Did find: dumpdecrypted.dylib: required code signature missing for 'dumpdecrypted.dylib'
原因:dumpdecrypted.dylib未簽名
解決方法:ldid -S /var/mobile/Containers/Data/Application/05D0D9F5-37FB-408A-8B2E-8431BD5FC2C5/Documents/dumpdecrypted.dylib
第7步:將砸殼文件WeChat.decrypted拷貝到電腦
scp -P 2222 root@localhost:/var/mobile/Containers/Data/Application/05D0D9F5-37FB-408A-8B2E-8431BD5FC2C5/Documents/WeChat.decrypted /Users/wangxiao/personal/iOS逆向/iOSReverse/WeChat.decrypted
使用frida-ios-dump砸殼并生成ipa
第1步:iOS安裝frida
1.iPhone 打開cydia 添加源: https://build.frida.re
2.打開剛剛添加的源 安裝 frida
3.安裝完成!檢查是否工作可以在手機終端運行 frida-ps -U 查看
第2步:Mac安裝frida
1.安裝python: brew install python
2.安裝wget: brew install wget
3.安裝pip
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
4.安裝frida
sudo pip install frida
5.配置frida-ios-dump環(huán)境
從Github下載工程:
sudo mkdir /opt/dump && cd /opt/dump && sudo git clone https://github.com/AloneMonkey/frida-ios-dump
安裝依賴:
sudo pip install -r /opt/dump/frida-ios-dump/requirements.txt --upgrade (PS:安裝依賴如果失敗換一換網(wǎng)絡)
修改dump.py參數(shù):
vim /opt/dump/frida-ios-dump/dump.py
找到這幾行:
User = 'root'
Password = 'alpine'
Host = 'localhost'
Port = 2222
設置別名:
vim ~/.bash_profile
在末尾新增下面一段:
alias dump.py="/opt/dump/frida-ios-dump/dump.py"
使用:
iproxy 2222 22
dump.py QQ
Hook結束打包生成ipa文件
在Xcode中,選擇企業(yè)證書 command+shift+i生成release版app文件,找到Products目錄下.app文件,Show In Finder,雙擊createIPA.command文件,會生成ipa文件。
問題記錄
-
Monkey工程添加Podfile后,報錯
`Xcodeproj doesn't know about the following attributes {"inputFileListPaths"=>[], "outputFileListPaths"=>[]} for the 'PBXShellScriptBuildPhase' isa`
解決辦法:sudo gem install cocoapods --pre
參考:http://www.itdecent.cn/p/f089fae248c1
-
運行抖音報錯
LLVM Profile Error: Failed to write file “default.profraw”: Operation not permitted
解決辦法:打開AntiAntiDebug.m,取消注釋這行代碼
? rebind_symbols((struct rebinding[1]){{"sysctl", my_sysctl, (void*)&orig_sysctl}},1);
參考:https://github.com/AloneMonkey/MonkeyDev/issues/44
- 安裝class-dump,/usr/bin不可寫的問題
解決方法:
- 打開Terminal,輸入
mkdir ~/bin,在當前用戶根目錄下創(chuàng)建一個bin目錄; - 把class-dump給拷貝到這個目錄里,并賦予其可執(zhí)行權限:
mv /path/to/class-dump ~/bin; chmod +x ~/bin/class-dump; - 打開~/.bash_profile文件:
vi ~/.bash_profile,在文件最上方加一行:export PATH=$HOME/bin/:$PATH,然后保存并退出(在英文輸入法中依次按下esc和:(shift + ;,即冒號),然后輸入wq,回車即可); - 在Terminal中執(zhí)行
source ~/.bash_profile
參考:https://blog.csdn.net/majiakun1/article/details/52064435
-
logify.pl在安裝完Theos后頁安裝完,
執(zhí)行l(wèi)ogify.pl命令需要配置環(huán)境變量
1、設置環(huán)境變量,可以每次在終端上運行export THEOS=/opt/theos
export PATH=/opt/theos/bin/:$PATH
2、可以#vi /etc/profile,在這個文件中加上以上命令,重新打開終端,環(huán)境變量就生效了。這樣就無需每次要去終端里export環(huán)境變量了。
參考:https://www.cnblogs.com/iamonion/archive/2017/07/30/7259288.html