MonkeyDev教程

MonkeyDev教程

准备工作(逆向开发环境搭建)

1.安装MonkeyDev

https://github.com/AloneMonkey/MonkeyDev/wiki/%E5%AE%89%E8%A3%85

2.Reveal安装与使用

https://www.jianshu.com/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端口转发到iOS的22端口
python tcprelay.py -t 22:2222
ssh root@localhost -p 2222

(或者使用命令安装 brew install usbmuxd
iproxy 2222 22)

第2步:使用 ps 配合 grep 命令来找到微信的可执行文件
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环境
从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:安装依赖如果失败换一换网络)
修改dump.py参数:
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中,选择企业证书 command+shift+i生成release版app文件,找到Products目录下.app文件,Show In Finder,双击createIPA.command文件,会生成ipa文件。

问题记录

  1. Monkey工程添加Podfile后,报错

     `Xcodeproj doesn't know about the following attributes {"inputFileListPaths"=>[], "outputFileListPaths"=>[]} for the 'PBXShellScriptBuildPhase' isa`
    

解决办法:sudo gem install cocoapods --pre

参考:https://www.jianshu.com/p/f089fae248c1

  1. 运行抖音报错

    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

  1. 安装class-dump,/usr/bin不可写的问题
    解决方法:
  • 打开Terminal,输入mkdir ~/bin,在当前用户根目录下创建一个bin目录;
  • 把class-dump给拷贝到这个目录里,并赋予其可执行权限: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中执行source ~/.bash_profile

参考:https://blog.csdn.net/majiakun1/article/details/52064435

  1. logify.pl在安装完Theos后页安装完,
    执行logify.pl命令需要配置环境变量
    1、设置环境变量,可以每次在终端上运行

    export THEOS=/opt/theos
    export PATH=/opt/theos/bin/:$PATH
    2、可以#vi /etc/profile,在这个文件中加上以上命令,重新打开终端,环境变量就生效了。这样就无需每次要去终端里export环境变量了。

参考:https://www.cnblogs.com/iamonion/archive/2017/07/30/7259288.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • 砸壳 class-dump 搭建越狱开发环境 Theos 配置越狱开发调试的 iOS 设备 Theos 环境 动态...
    ampire_dan阅读 5,532评论 0 7
  • 前言 其中用到的砸壳工具就是dumpdecrypted,其原理是让app预先加载一个解密的dumpdecrypte...
    风轻知道阅读 1,282评论 0 1
  • 记一次砸壳的采坑之路 <<<<<----0919https://github.com/KJCracks/Clutc...
    零零321阅读 670评论 0 0
  • 前戏 越狱手机; Cydia 安装 ssh(用于电脑ssh连接); Cydia 安装 adv-cmds(用于 ps...
    0occ阅读 4,122评论 2 23
  • 面临困难,有的人会迎难而上,有的人会高山仰止。很不巧 ,我就是一个喜欢高山仰止的人。面临困难,我不想去尝试挑战它,...
    春风风人阅读 519评论 0 1