您的位置:首页 > 移动开发

iOS dumpdecrypted砸壳(解密AppStore下载的应用程序)

2017-03-06 17:15 253 查看
AppStore上有很多优秀的App,我们想拿下来分析分析,这首先就得过Apple这一关,因为Apple已经对应用商店的App进行了加密保护,也就是说需要我们首先解密,才能进行其他的工作。

1.准备工作

首先要有一台越狱设备,然后安装插件:OpenSSH,Cycript

然后下载dumpdecrypted并解压,cd 到文件所在位置,执行
make
命令,会生成一个
dumpdecrypted.dylib
文件这就是我们等下砸壳所要用到的砸壳工具。

现在需要的东西已经准备好了,接下来可以开始砸壳了!

2.开始砸壳

通过ssh连接到设备,默认的密码是:
alpine




ssh root@设备的ip地址


运行你要砸壳的应用,通过命令你查看进程,执行命令之后会显示当前运行的所有进程。找到想要砸壳的应用进程,记录一下路径和编号。

ps -e




再执行命令进入cycript,执行之后命令行会以
cy#
开头

cycript -p 进程编号


执行命令,获取沙盒路径

[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]




获取沙盒路径

回去之后,我们可以通过 ctrl+d 退出cycript。以便接下来的操作。

现在我们得到了两个路径,一个app的沙盒路径,一个进程的运行路径。接下来我们需要将砸壳的工具放到app的沙盒下。

可以通过scp命令进行远程copy,由于当前的这个命令行还要用,所以用快捷键
command+n
再开启一个命令行窗口。用scp命令将
dumpdecrypted.dylib
文件复制到到设备中。

scp  dumpdecrypted路径  root@设备的ip地址:App沙盒路径


执行之后会让输入密码,输入密码开始上传。

上传成功之后,回到链接手机的命令行,cd到App的沙盒下

cd app沙盒路径


先执行下面的命令,防止遇到
killed 9
的错误

su mobile


可以查看下是否有
dumpdecrypted.dylib
文件,如果有的话就执行砸壳命令

DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib  App进程路径


命令执行完成之后会得到
.decrypted
文件,这个就是砸壳后的文件。

同样通过scp命令将脱壳之后的二进制文件复制到电脑上

关于插件的破解,先要理解dumpdecrypted的原理。它的原理是:将应用程序运行起来(iOS系统会先解密程序再启动),然后将内存中的解密结果dump写入文件中,得到一个新的可执行程序。 想要破解哪个应用就在
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib
App进程路径
把进程对应的路径填写进去就行了。

虽然可以破解,但是我做的时候结果还是用不了 ,控制台的输出为 "插件无效",况且这个插件也不常用就懒得弄。

参考链接:

iOS逆向工程(简单利用"dumpdecrypted"给ipa砸壳)
App Extension的脱壳
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息