一,两种思路砸壳:
1,静态:将解密的程序调用起来;
2,动态:将app跑起来,把内存里面的app文件拷贝出来
二,介绍两款砸壳工具:
静态砸壳工具:https://github.com/KJCracks/Clutch
1,clutch(命令行静态砸壳工具)
给执行权限:chmod +x Clutch
2,otool -l zhenaiwang|grep crypt (查看mach-o文件是否砸壳成功)
3,class-dump -H zhenaiwang -o zhenaiHeader (导出所有方法与成员变量)
动态砸壳工具:https://github.com/stefanesser/dumpdecrypted
1,dumpdecrypted(github直接下载下来,执行下 make 命令,把依赖下载下来,即逐行执行 makdfile 中的命令)
2,原理是因为动态链接器dyld
3,拷贝到手机的家目录下:
scp -P 12345 dumpdecrypted.dylib [root@127.0.0.1](mailto:root@127.0.0.1):~/
(注意,有些手机需要先对这个动态库重签名:
codesign -fs "iPhone Developer: BiXiong Chen (DK9JD9UGA8)" dumpdecrypted.dylib)
4,把动态库文件夹拷贝到手机家目录下(-r代表copy的是文件夹):scp -r -P 12345 test.framework/ root@127.0.0.1:~/
5,因为dyld加载库需要依附在某个进程上,所以要先查看手机进程:ps -A
6,运行指令: DYLD_INSERT_LIBRARIES=test.framework/test /var/containers/Bundle/Application/63D61629-8E86-4A62-98BC-F1936A6B8BDB/zhenaiwang.app/zhenaiwang;
把test.framework/test 注入到微信中,
注意test.framework需要签名如图中的CodeResources
![把test.framework文件copy到手机家目录下.png](https://upload-images.jianshu.io/upload_images/2741681-92cc61bdb9053e94.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
7,从手机拷贝文件到电脑:scp -P 12345 root@127.0.0.1:~/xxx ~/Desktop
![把手机里的文件copy到电脑.png](https://upload-images.jianshu.io/upload_images/2741681-c5ac1536cc1d012d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
8,查看是否砸壳成功:otool -l zhenaiwang.decrypted | grep crypt
9,得到的zhenaiwang.decrypted文件其实就是mach-o文件,可以通过chmod +x zhenaiwang.decrypted变为我们熟悉的mach-o文件
三,Theos工具的tweak使用
1,Theos的安装;
2,使用nic.pl创建tweak;
3,修改makefile文件以链接到手机
4,在Tweak.xm文件写hook代码
5,hook代码之前,需要用到cycript调试
- 需要链接登陆上自己的越狱手机
6,make编译tweak代码
7,make package 打包
8,make install 安装,手机会重启springboard
9,把微信跑起来,通过Xcode查看设备所有打印信息,可以看到密码是否获取成功
对于tweak后记:
打包的问题:make package
Error: IO::Compress::lzma
解决方案两种:
1.安装xz
$ brew install xz
$ sudo cpan IO::Compress::Lzma
2. 改变压缩方式
2.1修改dm.pl 文件
vim $THEOS/$THEOS/vendor/dm.pl/dm.pl
#use IO::Compress::Lzma;
#use IO::Compress::Xz;
2.2修改deb.mk 文件
vim $THEOS/makefiles/package/deb.mk
修改为:
_THEOS_PLATFORM_DPKG_DEB_COMPRESSION ?= gzip
编译的问题:make
Error: You do Not an SDK
需要指定Xcode . 安装过MonkeyDev
make clean 清除缓存!
- 很粗糙的记录自己的操作过程,多谢阅读,如果遇到问题,不妨贴出来看看~