工具:Reveal,snoop-it(监测工具)
反汇编工具:IDA / Hopper
调试工具:LLDB
开发工具:Theos / iOSOpenDev
Theos安装
HowBrew安装
dpkg 和 LDID安装
usb muxd安装
自带iproxy
苹果安全文档(中文):https://www.apple.com/cn/business/resources/docs/iOS_Security_Guide.pdf
cycript:是一款脚本语言,混合了objective-c与javascript语法的一个工具,让开发者在命令行下和应用交互,在运行时查看和修改应用。官网http://www.cycript.org/
手机安装OpenSSH。越狱后的手机在Cydia商店下载安装OpenSSh。
连接手机:
在终端输入:"iproxy 2222 22"
重新打开一个终端输入:"ssh -p 2222 [email protected]" (127.0.0.1是手机Wifi的地址,手机与电脑要在同一局域网)
默认的密码是:alpine
命令:
ls:查看文件/文件夹
cd / :回到根目录
control + D:退出进程
-ps -e :查看进程
cycript -p 945 :注入到id为945这个进程
cycript -p AlipayWallet :注入到支付宝,用进程名注入
*view:查看view上的内容
choose(UITextField):筛选出UITextField
实现显示alert弹窗:
cycript -p SpringBoard (注入进程)
alert = [[UIAlert allot] init...]
[alert show] 或 [#0x141cc4fb0 show] (显示弹窗)
实现截屏:
var shot = [SBScreenshotter sharedInstance]
[#0x141d66040 saveScreenshot:YES] 或[shot saveScreenshot:YES]
改背景色
UIApp
#0x13f800e00.keyWindow (获取keyWindow)
#0x140a40d20.hidden = YES
view = #0x140a40d20
view.backgroundColor = [UIColor redColor]
UIApp
#0x14d520b50.keyWindow.rootViewController (根控制器)
#0x14d817e00.visibleViewController (当前看到的视图控制器)
#0x160a0ac90.view (获取view)
砸壳
砸壳工具:dumpdecrypted.dylib
导出头文件库:class-dump
首先用终端连接手机:ssh -p 2222 [email protected]
密码是:alpine
接下来将 dumpdecrypted.dylib拷贝到 /Document 目录下。
ps -e (查看进程)
cycript -p Wechat (注入到微信的进程)
NSHomeDirectory() (获取沙盒路径)
cd 沙盒 /Documents/
ls (查看一下)
然后新开一个终端:scp 源文件路径 [email protected]:/var/.../Document/dumpdecrypted.dylib
password:alpine
拷贝完成后,接下来就开始砸,在原终端:
su mobile (回到原用户)
DYLD_INSERT_LIBRARIES=DUMPDECRYPTED.DYLIB "/var/.../WeChat.app/WeChat"
砸完之后,有个WeChat.decrypted文件就是脱壳的微信二进制文件,把砸过壳的文件拷贝到电脑桌面123文件夹,在新开的终端拷贝:
scp [email protected]:/var/.../Document/WeChat.decrypted /User/Mac/Desktop/123
导出头文件:
将class-dump与WeChat.decrypted放在同一目录下,然后在终端输入:
cd /User/Mac/Desktop/123
./cass-Ssh WeChat.decrypted -o /User/Mac/Desktop/123/headFile