前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >逆向开发从零到整(dumpdecrypted砸壳)

逆向开发从零到整(dumpdecrypted砸壳)

作者头像
CC老师
发布2019-01-23 15:50:31
1.2K0
发布2019-01-23 15:50:31
举报
文章被收录于专栏:HelloCode开发者学习平台

一、原理

动态注入可执行文件Mach-o,从内存dump出解密的内容

github 地址

https://github.com/stefanesser/dumpdecrypted

二、编译dumpdecrypted

cd到目录 make 得到一个dumpdecrypted.dylib

PS:后面注入过程出现一个问题:

因为没有签名dylib,注入失败

解决方案: 列出可签名证书

security find-identity -v -p codesigning

为dumpecrypted.dylib签名

codesign --force --verify --verbose --sign "iPhone Developer: xxx xxxx (xxxxxxxxxx)" dumpdecrypted.dylib

三、砸壳(解密)

1.定位目标应用的可执行文件

手机退出其他应用,只打开目标应用(以微信为例),电脑ssh到手机,使用ps -e(ps命令需要手机安装插件adv-cmds)命令查看进程:

定位微信进程

2.获取应用沙盒目录Documents

动态库注入解密需要写到同一目录下,而应用存在沙盒中,通过BundleID调用私有API获取Documents目录: cat /var/containers/Bundle/Application/BE4C2082-083B-4DE4-924D-EDCA98EB1701/WeChat.app/Info.plist | grep CFBundleIdentifier -A 1

获取bundleID

3.调用私有API获取沙盒Documents目录

新建iOS工程,在目标应用设备上运行

代码语言:javascript
复制

控制台输出: 2018-11-08 23:13:26.751557 decrypt[623:18364] file:///private/var/mobile/Containers/Data/Application/02A7FF42-8A6B-45BA-8C25-99760F0311C7/Documents 对应Documents目录: /var/mobile/Containers/Data/Application/02A7FF42-8A6B-45BA-8C25-99760F0311C7/Documents

4.复制dylib到Documents目录并进行解密

  • 在dumpdecrypted.dylib目录下打开终端,复制dylib使用以下命令(自行修改不同参数): scp ./dumpdecrypted.dylib root@192.168.10.170:/var/mobile/Containers/Data/Application/02A7FF42-8A6B-45BA-8C25-99760F0311C7/Documents
  • ssh到手机端解密
    • cd/var/mobile/Containers/Data/Application/02A7FF42-8A6B-45BA-8C25-99760F0311C7/Documents
    • DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/BE4C2082-083B-4DE4-924D-EDCA98EB1701/WeChat.app/WeChat mach-o decryption dumper dump出解密文件
  • 解密文件就在Documents目录,拷贝出来玩耍吧 Mac端: scp root@192.168.10.170:/var/mobile/Containers/Data/Application/02A7FF42-8A6B-45BA-8C25-99760F0311C7/Documents/WeChat.decrypted ~/desktop
  • 查看解密文件

cryptid为0表示未加密

上述操作比较原始倾向于原理,后面会有更快的砸壳方法,庆哥的改版dumpdecrypted(试过一遍没搞懂),庆哥推荐使用 frida-ios-dump,传送门:使用frida-ios-dump快速通过越狱设备砸壳

作者:KinKen(iOS菜鸡Ken)

感谢 iOS菜鸡Ken 提供此原文给HelloCode 开发者学习平台.

人人为师,终身学习! 全栈开发从学习开始!

寒冬很冷,动动小手关注分享!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 HelloCode开发者学习平台 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、原理
  • 二、编译dumpdecrypted
  • 三、砸壳(解密)
    • 1.定位目标应用的可执行文件
      • 2.获取应用沙盒目录Documents
        • 3.调用私有API获取沙盒Documents目录
          • 4.复制dylib到Documents目录并进行解密
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档