概述
砸壳开始
App Store上的应用都是加密的。
获取可执行文件
下载了的app(这里以TIM为例) 通过iTools 保存在电脑本地得到TIM.ipa文件 通过解压得到TIM文件夹 进入Payload文件夹 右键点击文件显示包内容 找到可执行文件TIM 之后打开终端查看该可执行文件是否已经被加了密
命令行
otool -l 可执行文件 | grep cryptid
结果如图:
cryptid为1 表示加密了 cryptid为0 表示未加密
上图显示该包有两个架构 且都加密了
下载dumpdecrypted砸壳工具
砸壳工具github下载地址
https://github.com/stefanesser/dumpdecrypted
下载后 打开终端 进入该砸壳工具的路径 开始编译文件
终端输入
make
编译后便会得到dumpdecrypted.dylib
这个动态库 这个动态库在之后会注入到目标应用程序的沙盒里(后话) dumpdecrypted.dylib会把砸壳文件写到文件里 在App Store里下载的app对沙盒以外的目录是没有写的权限 所以此处把dumpdecrypted.dylib注入到沙盒的Document目录 砸壳后的解密文件就可以写在沙盒里
连接越狱手机
注意:越狱手机 务必在Cydia中安装OpenSSH
有两种方法可以进行连接通过usb进行端口转发或者通过wifi进行。
①usb方式连接
Mac下载
usbmuxd下载地址
https://cgit.sukimashita.com/usbmuxd.git
选择usbmuxd-1.0.8进行下载 解压后打开终端 进入其中的usbmuxd-1.0.8/python-client 输入以下命令 将22端口映射到2222
python tcprelay.py 22:2222
打开新的终端窗口,输入 此时输入密码进行连接 默认密码是alpine
ssh root@localhost -p 2222
想要改密码可以输入 passwd进行改密
②wifi方式连接
连接和Mac一致的wifi 打开手机设置 查看ip地址
打开终端 输入
ssh root@192.168.31.53 -p 2222
ip地址记得换成你自己的ip
输入密码 默认alpine 修改密码 请输入passwd
开始砸壳操作
注意:越狱手机 务必在Cydia中安装cycript
、adv-cmds
、pstree
①获取当前所有进程
查看当前手机的所有进程(把你要砸壳的进程记得打开,比如我就运行了TIM)我们要找到我们要砸壳的应用程序, 记住进程id,记住Bundle路径(后续需要使用)
ps -e
最左边就是进程id 右边路径是Bundle路径
②cycript进入(钩入)该应用程序
确保手机已经下载了cycript工具 使用命令cycript 进程id
如
cycript 3792
③cycript获取沙盒路径
进入后 可以执行相应的OC代码 此处要获取的是沙盒路径
[NSHomeDirectory() stringByAppendingString:@"/Documents"]
可以使用control+d 或者 输入exit(0)命令 退出cycript
④将砸壳工具拷贝到沙盒路径下
新打开一个终端窗口 把dumpdecrypted.dylib 拷贝进去沙盒路径路径
(usb连接)
scp -p 2222
Mac中dumpdecrypted.dylib的路径
root@localhost:沙盒路径路径
(wifi连接)
scp
Mac中dumpdecrypted.dylib的路径
root@越狱机ip地址:沙盒路径路径
如图:
拷贝完成后可以cd到手机的沙盒路径去看看有没有该文件
图中可以看到该砸壳软件已经在沙盒里了
⑤开始砸壳
在该沙盒路径下 指定一个环境变量,这个环境变量会去加载指定目录下的文件
输入
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib 可执行文件的路径(即之前获取到的Bundle路径)
运行后 就会开始解密 解密文件会放到同级目录 可以ls查看是否有.decrypted这个解密文件 有的话 则为解密成功
⑥将解密文件拷贝到Mac上
新开终端 将越狱机内的解密文件拷贝到Mac上
(usb连接)
scp -p 2222
root@localhost:沙盒中解密文件路径
Mac指定路径
(wifi连接)
scp
root@越狱机ip地址:沙盒中解密文件路径
Mac指定路径
⑦验证
查看解密状态 可以看到手机相应的架构被砸壳
otool -l 砸壳文件 | grep cryptid
⑧提取被解密架构部分
提取被砸壳的部分 单个架构被提取
(这里假设armv7被砸壳)
lipo app.decrypted -thin armv7 -output armv7_output
砸壳结束!感谢!
自己也是从前几天开始着手iOS逆向 有不对的问题请指出 再次感谢!
并附上我的个人博客:
个人博客地址
www.nullgirl.com
有问题可以加QQ讨论: 422453403
最后
以上就是健壮诺言为你收集整理的iOS逆向与安全 - 1. dumpdecrypted 砸壳砸壳开始砸壳结束!感谢!的全部内容,希望文章能够帮你解决iOS逆向与安全 - 1. dumpdecrypted 砸壳砸壳开始砸壳结束!感谢!所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复