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 ...
随机推荐
- 【sessionInfo】使用说明
对象:sessionInfo 说明:会话类型操作,此对象是session与cookies的完善版,解决了session异常丢失及cookies文件大小的问题. 注意: 1) 访客的IP地址发生变化时 ...
- 【聚合报告】- 秒懂jmeter
- 数据库Mysql的学习(六)-子查询和多表操作
)*0.05 WHERE card_id ='20121xxxxxx'; //子查询就是一个嵌套先计算子查询 SELECT * FROM borrow WHERE book_id =(SELECT b ...
- HTML 之 表单
关于HTML的表单 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset=&q ...
- ZOJ 3644 Kitty's Game(数论+DP)
Description Kitty is a little cat. She is crazy about a game recently. There arenscenes in the game( ...
- TCP系列10—连接管理—9、syncookie、fastopen与backlog
这部分内容涉及较多linux实现,可以跳过. 一.listen系统调用对backlog的处理 当socket处于LISTEN或者CLOSED状态时,fastopen队列的长度可以通过TCP_FASTO ...
- 3dContactPointAnnotationTool开发日志(一)
周日毕设开题报告结束后浪了一天,今天又要开始回归正轨了.毕设要做一个人和物体的接触点标注工具,听上去好像没啥难度,其实实现起来还是挺麻烦的. 今天没做啥,就弄了个3d场景做样例.把界面搭了一下 ...
- PAT 甲级 1128 N Queens Puzzle
https://pintia.cn/problem-sets/994805342720868352/problems/994805348915855360 The "eight queens ...
- C# #pragma warning disable/restore
#pragma warning 可以启用或禁用特定警告. 语法 #pragma warning disable warning-list #pragma warning restore warning ...
- AngularJS 中特性(attr)和属性(prop)的区别
attr() 和 removeAttr() 方法是对特性进行处理的, 而 prop() 是对属性进行操作的 , 但是很多时候操作的东西是同一个 , 但是也是有区别的, 区别在于prop方法处理的是被 ...