记一次砸壳的采坑之路
<<<<<----0919 https://github.com/KJCracks/Clutch/releases Clutch方式砸壳 更简单-->>>>>
clutch -i
clutch -d 1
砸壳方案:class-dump+ cycript + dumpdecrypted
dumpdecrypted-github
class-dump-github
class-dump-安装包(不会编译class-dump下载安装包)
一台越狱的iPhone
(Cydia) openSSH
(Cydia) iFile
(Cydia) Cycript
一、在砸壳前需要安装class-dump和dumpdecrypted,cycript这个工具可以在越狱设备的cydia中下载
http://stevenygard.com/projects/class-dump/
dumpdecrypted:(砸壳)github地址:https://github.com/stefanesser/dumpdecrypted
1、从App Store下载安装的应用都是加密的,所以我们需要用一些工具为下载的app解密,俗称“砸壳”
二 、接着下载安装dumpdecrypted,这是一个放在手机中的工具
1.下载好后,双击解压
2.打开终端 cd到解压到目录下,输入make,这样程序就会自动运行编译出dumpdecrypted.dylib和dumpdecrypted.o
3.一会儿会用到dumpdecrypted.dylib文件
三、开始砸壳
首先我们需要一台已经越狱了的iPhone手机,然后进入Cydia安装需要的三款工具openSSH、Cycript、iFile。(调试程序时可以方便地查看日志文件)
设备上运行待砸壳app,最好只运行这一个,然后终端接入设备
步骤1.首先,在终端中用ssh连接你越狱设备
连接不了
终端$ iproxy 2222 22
commend +N :新建一个终端窗口 输入 $ ssh -p 2222 [email protected]
密码:alpine
2、寻找微信可执行文件 输入命令root# ps -e | grep var
--->>是中文名字的时候可以 ps - e , 之后再ps -p 1549 (对应的进程id)
3、寻找Documents具体路径 root# cycript -p WeChat
cy# [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory
inDomains:NSUserDomainMask][0]
显示:::#"file:///var/mobile/Containers/Data/Application/01475B29-04B6-43EF-998C-07EC1A76EE4C/Documents/"
control+D 可退出cycript模式
4、把dumpdecrypted.dylib文件放入沙盒路径
(使用scp指令把dumpdecrypted.dylib拷贝到iPhone的Documents路径目录下输入指令:scp 源文件路径:目标文件路径)
//在终端中输入下面代码,记住scp 后的第一部分是你放在电脑中的dumpdecrypted.dylib的路径 第二部分是步骤5记录的应用沙盒地址,请替换成自己的
scp /Users/lif/Desktop/IPA/砸壳-dumpdecrypted/dumpdecrypted.dylib [email protected]:/var/mobile/Containers/Data/Application/AB1E6654-923C-45CC-AC98-288EBA245897/Documents/
*****我是用另一种方式:通过Ifunbox把dumpdecrypted.dylib拷贝到设备
注意:(dumpdecrypted.dylib报错:
dyld: could not load inserted library‘dumpdecrypted.dylib’because no suitable image found. Did find:
dumpdecrypted.dylib: required code signature missing for‘dumpdecrypted.dylib’
## 列出可签名证书
security find-identity -v -p codesigning
##为dumpecrypted.dylib签名
codesign --force --verify --verbose --sign "iPhone Developer: xxx xxxx(xxxxxxxxxx)" dumpdecrypted.dylib)
5、把dumpdecrypted.dylib文件放入沙盒路径后,重新连接ssh,并cd 到需要砸壳应用路径,生成一个.decrypted文件
//后面的路径是应用路径 而不是沙盒路径DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/B8416315-EF7E-4464-8F7F-4C1B92CBF1AF/WeChat.app/WeChat
在#"file:///var/mobile/Containers/Data/Application/01475B29-04B6-43EF-998C-07EC1A76EE4C/Documents/"文件下有有一个.decrypted后缀的文件。
6、利用class-dump破解里面的代码,在终端中输入
//第一个路径是.decrypted文件的路径,第二个路径是导出.h文件的路径class-dump -H /Users/xieyujia/Desktop/ios/逆向工程/WeChat.decrypted -o /Users/xieyujia/Desktop/ios/逆向工程/head
参考1https://www.jianshu.com/p/5533c36947d5
参考2https://www.jianshu.com/p/7ee32399359b
参考3https://blog.csdn.net/app_ios/article/details/52583687
参考4https://blog.csdn.net/y295612743/article/details/76169692