1、先从手机内存拷贝.ipa
文件出来,到当前目录下(拿到可执行MachO
文件WeChat
)
scp -P 2222 root@localhost:进程路径 ./
2、Xcode
附加进程 、也可以通过lldb附加
找一个Xcode
的工程(debug
--> Attach to process
--> 进程)
-
image list
拿到首地址0x00000001029b4000
3、otool -l Wechat | grep crypt
查看下面三项,手动砸壳需要
-
cryptoffset 16384
起始位置偏移 -
cryptsize 187236352
加密部分大小 -
cryptid 1
加密标识
4、从Xcode
附加的进程中拷贝解密的二进制,得到WeChat.bin
memory read --force --outfile ~/Desktop/WecharDump/WeChat.bin --binary --count 187236352 0x00000001029b4000+16384
5、将二进制文件WeChat.bin
写入没有解密的MachO
文件,从offset
位置,不截掉后面,替换中间187236352
大小的部分(需要一定的时间)
-
dd seek=16384 bs=1 conv=notrunc if=./WeChat.bin of=WeCHat
-
seek=16384
从offset开始写入 -
bs=1
一次写入多少个字节,这里是1个字节 -
conv=notrunc
不截掉后面,保留后面部分
*if=./WeChat.bin
输入文件 -
of=WeCHat
输出文件
-
6、写入完成之后,验证class-dump -H WeChat -o ./wechatHeaders
成功即可
-
dump
之前要先把cryptid
手动改成0(使用MachOView
打开,在LoadCommand
里面,INFO_64
改cryptid
)
网友评论