Dumps decrypted mach-o files from encrypted iPhone applications from memory to disk. This tool is necessary for security researchers to be able to look under the hood of encryption.

源代码只有一个文件 dumpdecrypted.c,文件只有一个函数 dumptofile,程序没有解密逻辑,当它执行时候,加载器已经完成了目标 mach-o 文件的装载,对应的解密已经完成。该函数的工作是从 LC_ENCRYPTION_INFO 遍历所有的 load command,将对应的解密数据从内存中 dump 出来,复写到 mach-o 文件中。

步骤

  • 安装 OpenSSH, Cycript
  • 下载 dumpdecrypted 源代码
  • 在源代码目录下执行 make 指令,生成一个 dumpdecrypted.dylib
  • ssh root@ip_address,默认密码是 alpine
  • ps -e,找到应用的进程号,以及进程路径
  • cycript -p 进程号,输入下面代码
  • [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
  • 从上个指令获取 app document 目录路径
  • ctrl + d,退出 cycript 操作
  • 将 dumpdecrypted.dylib 文件拷贝到 app document 目录下, scp src_path root@ip_address:des_path
  • DYLD_INSERT_LIBRARIES=xxx.dylib_path app进程路径,开始砸壳,完成后会得到一个 .decrypted文件
  • 使用 scp 命令将砸壳后的文件复制到电脑上, scp root@ip_address:src_path des_path
  • 使用 class-dump 获取头文件,class-dump -H WeChat.decrypted -o des_path



遇到错误

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

涉及软件

iOS - 10.3.3

OpenSSH - 6.7p1-13

Script - 0.9.595

Fileza File Manager - 3.5.2-1

测试应用:WeChat, AlipayWallet

2018-5-25-23

Dumpsdecrypted的更多相关文章

  1. ios 逆向

    Theos https://www.jianshu.com/p/307243ea40e4 Dumpsdecrypted https://www.cnblogs.com/wangyaoguo/p/908 ...

随机推荐

  1. flask源码走读

    Flask-Origin 源码版本 一直想好好理一下flask的实现,这个项目有Flask 0.1版本源码并加了注解,挺清晰明了的,我在其基础上完成了对Werkzeug的理解部分,大家如果想深入学习的 ...

  2. 域名、IP地址、URL关系

    域名是个文字形式记录的IP地址 IP地址是计算机在网络中的门牌号! URL是网页地址 例如1: http://zhidao.baidu.com/question/14674128.html 是URL ...

  3. OpenMPI源码剖析2:ompi_mpi_errors_are_fatal_comm_handler函数

    上一篇文章说道,初始化失败会有一个函数调用: ompi_mpi_errors_are_fatal_comm_handler(NULL, NULL, message); 所以这里简单地进入了 ompi_ ...

  4. POJ 3487 The Stable Marriage Problem(稳定婚姻问题 模版题)

    Description The stable marriage problem consists of matching members of two different sets according ...

  5. 算法与数据结构5.1 Just Sort

    ★实验任务 给定两个序列 a b,序列 a 原先是一个单调递增的正数序列,但是由于某些 原因,使得序列乱序了,并且一些数丢失了(用 0 表示).经过数据恢复后,找 到了正数序列 b ,且序列 a 中 ...

  6. lintcode-167-链表求和

    167-链表求和 你有两个用链表代表的整数,其中每个节点包含一个数字.数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头.写出一个函数将两个整数相加,用链表形式返回和. 样例 给出两个链 ...

  7. MFC修改视图CView的背景颜色

    (1) 在CYournameView(就是你的视图类,以下以CDrawLineView为例)添加了一个背景颜色变量 COLORREF m_bgcolor; (2)修改这个函数: BOOL CDrawL ...

  8. win7 安装 MongoDB 及简单操作

    下载地址 http://dl.mongodb.org/dl/win32/x86_64 这里用的版本是 mongodb-latest-signed.msi 同时下载 mongodb-compass 下载 ...

  9. 在Ubuntu系统下编译arcsim仿真器

    首先,用tar zxvf arcsim-0.2.1.tar.gz 将软件包解压 然后,打开里面的INSTALL文件,按照里面的步骤一步一步安装库.Ubuntu13.04下 1.BLAS sudo ap ...

  10. 2018 杭电多校2 - Naive Operations

    题目链接 Problem Description In a galaxy far, far away, there are two integer sequence a and b of length ...