iOS逆向-砸壳(Clutch|iOS逆向-砸壳(Clutch & dumpdecrypted)
MachO文件 -> 苹果加密 -> 加壳文件
加壳文件 -> 苹果解密 -> MachO文件(DYLD)
解密过程:砸壳工具: Clutch 静态砸壳
- DRM(数字版权管理)检查
- 找到合适结构进行解密
- 使用DYLD加载解密的MachO
dumpdecrypted 动态加壳
静态砸壳:调用系统的解密程序
动态砸壳:得到系统解密后的MachO文件
Clutch 静态砸壳 前提条件:手机已越狱
1. 下载安装Clutch到手机
【iOS逆向-砸壳(Clutch|iOS逆向-砸壳(Clutch & dumpdecrypted)】github下载 Clutch 并命名为
Clutch
2. 将该文件拷贝到设备(手机)中
scp ./build/Clutch root@:/usr/bin/Clutch若有端口映射
scp -P 2222 ./build/Clutch root@localhost:/usr/bin/Clutch
3. Clutch 增加可执行权限
# chmod +x Clutch
4. 使用
Clutch [OPTIONS]
-b --binary-dumpOnly dump binary files from specified bundleID
-d --dumpDump specified bundleID into .ipa file
-i --print-installed Print installed application
--cleanClean /var/tmp/clutch directory
--versionDisplay version and exit
-? --helpDisplay this help and exit
-
$ Clutch i
列出可砸壳应用
1: 微信
2: ....
- 砸壳
# Clutch -d [标示或bundleID]如: Clutch -d 1
成功后可看见砸壳后的文件
github dumpdecrypted
clone and Download
当前文件夹下执行
make
$ make
生成
dumpdecrypted.dylib
和 dumpdecrypted.o
文件2. 将动态库
.dylib
从本地拷贝到手机上scp dumpdecrypted.dylib root@:~/若有端口映射
scp -P 2222 ./build/Clutch root@localhost:~/
3. 将动态库
.dylib
依附到要砸壳的app进程中利用
DYLD
环境变量 DYLD_INSERT_LIBRARIES=# DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib [进程路径]如:
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/.../WeChat.app/WeChat
注:进程路径可通过
ps -A
查看4. ipa包
执行之后 当前目录下
ls
得到 WeChat.decrypted
可执行文件其他文件可在
/var/mobile/.../WeChat.app
拷贝组合成砸壳后的ipa包推荐阅读
- 2020-04-07vue中Axios的封装和API接口的管理
- iOS中的Block
- 记录iOS生成分享图片的一些问题,根据UIView生成固定尺寸的分享图片
- 2019-08-29|2019-08-29 iOS13适配那点事
- Hacking|Hacking with iOS: SwiftUI Edition - SnowSeeker 项目(一)
- iOS面试题--基础
- 《将来的你,一定会感谢现在战胜烦恼的自己-------第四章/第十一节/用逆向思维解除烦恼》
- 接口|axios接口报错-参数类型错误解决
- iOS|iOS 笔记之_时间戳 + DES 加密
- iOS,打Framework静态库