最近想要重温一下IAP砸壳的乐趣。找了一圈市面上现有的教程,发现很多已经过时了。按照教程已经无法成功砸壳。 然后自己探索出一套适合自己的方法。虽说不一定最好,但胜在亲测可用,在此与小伙伴们分享。
苹果手机:iPhone 6(iOS10.2) Mac电脑:已安装爱思助手
本教程使用爱思助手对手机进行非完美越狱,重启手机后即回复为未越狱状态。
直到爱思助手上出现你的手机屏幕,则连接成功。
在很多教程中都介绍说需要下载OpenSSH插件,通过同一个Wifi来连接iPhone。但是这个方法我自己尝试过几次均没有成功。而且在高于iOS10以上的版本似乎已经不需要下载OpenSSH了。
下面介绍我推荐的方法,无需下载额外的插件。
a、打开爱思助手->工具箱:
c、打开命令行工具【如:Terminal】,在命令行工具中输入:
将手机上的APP从后台全部关闭,避免其他APP对我们的干扰。然后打开微信APP。
a、在命令行中输入如下命令:
这句命令是查看某个应用的进程,然后终端就会输出这个应用二进制文件对应的目录。
b、需要用Cycript找出微信的documents的路径 在命令行工具中输入命令:
在 cy# 后面继续输入命令:
这个目录在中的137EB4E4-0E30-4C8D-9B33-BBB508119E6B在每个手机上都不一样,大家不用在意,只要目录格式一致即可。
获取到这两个目录后,我们就可以开始砸壳了。我们使用control+D退出 cy#,方便后续输入命令。
很多教程中使用的砸壳工具都是来自stefanesser的GitHub:github.com/stefanesser…
但是很遗憾,这个代码已经很多年没有维护了,我通过这个工具没有成功。所有我提供了新的dumpdecrypted.dylib工具。请小伙伴们自行下载。
本教程中,我将dumpdecrypted.dylib文件放在桌面的dump文件夹下。
新打开一个命令行工具窗口,cd到dumpdecrypted.dylib工具所在的目录:
使用scp命令拷贝dumpdecrypted.dylib到iPhone设备中。
我们把dumpdecrypted.dylib放在iPhone设置的/usr/lib目录下,方便我们使用。也可以放入微信的documents目录(/var/mobile/Containers/Data/Application/137EB4E4-0E30-4C8D-9B33-BBB508119E6B/documents)中。
在命令行中输入如下命令:
小伙伴们请注意,这里的 -P 是大写。回车后需要输入ssh默认密码。
如果有的小伙伴出现出现的界面不一样,而是出现了下面的界面,也不要惊慌。
这是因为你的设备中没有ssh命令scp。这时候你只需要在越狱后出现的Cydia中搜索安装【OpenSSH】,在重复如上命令即可。
砸壳工具已经准备好了,我们就可以挥舞起我们手中的小锤锤开始砸壳了。
在连接设备的命令行中输入如下命令:
然后你会出现如下界面:
咦,不是说好的砸壳吗?怎么会出现这样的报错呢?是我们的锤子挥得不好吗?
并不是哈,请注意看报错信息 “required code signature missing”,说明我们这个砸壳工具dumpdecrypted.dylib是缺少签名的。这是我给小伙伴们留的坑哦,不来点意外,你们怎么能印象深刻呢?
a、我们先查看我们电脑上有哪些可签名的证书。 输入如下命令:
查看你是否有可签名证书,没有的小伙伴赶紧去苹果开发者网站注册吧。
b、选择合适的证书为dumpecrypted.dylib签名 输入如下命令:
a、先将iPhone设备中未签名的dumpecrypted.dylib移除。 cd到/usr/lib目录下: 执行如下命令:
之后再cd到根目录。
b、使用scp命令上传签名后的dumpecrypted.dylib 在命令行中输入如下命令:
使用步骤4中的命令完成最后的挥锤动作,砸壳微信APP的壳。
并且红框中的WeChat.decrypted文件,即是我们砸壳后的微信二进制文件。其所在目录就是root目录,直接输入ls命令,则能在当前目录找到。
我们使用scp命令导出文件到Mac的/Desktop/dump目录下 输入如下命令:
还没有安装class-dump的小伙伴需要下载安装class-dump,已下载的则可以直接使用。
在桌面新建文件夹Headers,用于存放导出的头文件。小伙伴们也可以自行选择存放的目录。
在二进制文件WeChat.decrypted所在的目录下,输入如下命令:
待命令执行完成后,即可在Headers文件夹中,查看从微信APP反编译出的所有头文件。
到这里,本教程就结束了。