Dumpsdecrypted
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的更多相关文章
- ios 逆向
Theos https://www.jianshu.com/p/307243ea40e4 Dumpsdecrypted https://www.cnblogs.com/wangyaoguo/p/908 ...
随机推荐
- mahout协同过滤算法各接口
Mahout协同过滤算法 Mahout使用了Taste来提高协同过滤算法的实现,它是一个基于Java实现的可扩展的,高效的推荐引擎.Taste既实现了最基本的基于用户的和基于内容的推荐算法,同时也提供 ...
- UVa 340 - Master-Mind Hints 解题报告 - C语言
1.题目大意 比较给定序列和用户猜想的序列,统计有多少数字位置正确(x),有多少数字在两个序列中都出现过(y)但位置不对. 2.思路 这题自己思考的思路跟书上给的思路差不多.第一个小问题——位置正确的 ...
- sql随机数
) as P_jsnews_id ) as P_jsnews_id) * from P_jsnews order by newid()
- 基础数据类型-list
序列是python中的基础数据结构,序列里每一个元素都有一个下标,从0开始,依次递增. list,tuple,dictionary是使用最频繁的三类数据结构. (1)序列都有的方法包括:索引,切片,检 ...
- MySQL用户管理及权限管理
MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL 命令行模式下输入如下命 ...
- 开启假期JAVA之路
. 从最基础的JAVA开始学起,已经上了三节课啦!希望在课程结束后能完成一个令自己满意的连连看项目,期待ing~ 慢慢的从简单的代码上手了~ . 用循环输出等腰三角形的效果 import java.u ...
- 团队作业7——第二次项目冲刺(Beta版本)
团队作业7——第二次项目冲刺-Beta版本项目计划 团队作业7——第二次项目冲刺(Beta版本)-第一篇 团队作业7——第二次项目冲刺(Beta版本)-第二篇 团队作业7——第二次项目冲刺(Beta版 ...
- iOS-加载html字符串
NSMutableAttributedString * attrString =[[NSMutableAttributedString alloc] initWithData:[resultModel ...
- c# 中base64字符串和图片的相互转换
c#base64字符串转图片用到了bitmap类,封装 GDI+ 位图,此位图由图形图像及其特性的像素数据组成. Bitmap 是用于处理由像素数据定义的图像的对象. 具体bitmap类是什么可以自己 ...
- Delphi:ADOConnection连接SQLServer自动断网问题解决
=============================== 解决方法一:异常时关闭连接,WinXP,win7 32位大部分情况都是起作用的,不过在有些windows操作系统下(如家庭版)不起作用, ...