dumpdecrypted砸壳
2016-07-22 09:23
465 查看
dumpdecrypted 砸壳
一、dumpdecrypted源码地址
github地址二、确认要砸壳的iOS系统版本
即iOS版本需要与SDK版本相同。注意,5.1版SDK编译出的dylib是向下兼容的,可以用于iOS5.0,6.1版SDK同理。三、提取需要的SDK版本
下载旧版本的Xcode,然后把里面的SDK提取出来。Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs 把Xcode这个文件夹提取出来放在桌面。
四、修改MakeFile和修改源码
修改SDK=`xcrun --sdk iphoneos --show-sdk-path`
改成
SDK=~/Desktop/SDKs/iPhoneOS8.X.sdk
再将dumpdecrypted.c第76行的
if (lc->cmd ==LC_ENCRYPTION_INFO || lc->cmd == LC_ENCRYPTION_INFO_64)
改成
if(lc->cmd == LC_ENCRYPTION_INFO)
五、编译dumpdecrypted.dylib
接着直接cd到“~/Desktop/dumpdecrypted-master/”下,然后输入“make”并回车,在当前目录下生成dumpdecrypted.dylib不想自己编译的话,我已经全部编译好了6.0,7.0,8.0
dumpdecrypted.dylib和源码地址
六、去掉arm64
虽说现在IDA6.9已经支持arm64,但是arm64还是很难看啊,去掉arm64之后就方便多了1、把/var/mobile/Applications/XXXXXX/TargetApp.app/XXXTargetApp 复制到mac上
2、执行命令行
lipo xxx -remove arm64 -output xxx.remove
七、砸壳
1、把dumpdecrypted.dylib放到iOS砸壳app的Document下
2、cd到iOS中dumpdecrypted.dylib的目录下
3、输入命令行,回车砸壳完毕
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Applications/XXXXXX/TargetApp.app/XXXTargetApp
4、显示
[+] detected 32bit ARM binary in memory. [+] offset to cryptid found: @0x81a78(from 0x81000) = a78 [+] Found encrypted data at address 00004000 of length 6569984 bytes - type 1. [+] Opening /private/var/mobile/Containers/Bundle/Application/03B61840-2349-4559-B28E-0E2C6541F879/TargetApp.app/TargetApp for reading. [+] Reading header [+] Detecting header type[+] Executable is a plain MACH-O image [+] Opening TargetApp.decrypted for writing. [+] Copying the not encrypted start of the file [+] Dumping the decrypted data into the file [+] Copying the not encrypted remainder of the file [+] Setting the LC_ENCRYPTION_INFO->cryptid to 0 at offset a78 [+] Closing original file[+] Closing dump file
八、完成
class-dump、IDA 可以开始使用啦文/奔跑2015蜗牛(简书作者)
原文链接:http://www.jianshu.com/p/6a1cf4416375
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
相关文章推荐
- Divisibility
- 几款极好的 JavaScript 文件上传插件
- VS2013的开发环境下Qt的下载、安装、配置
- form表单取消按钮自动提交
- java产生随机数的三种方式
- mysql awr v1.0.1发布
- oracle || 跟(+) + substr 函数 用法总结
- Hadoop:基础环境配置
- 快学scala 第十一章 操作符 读书笔记及习题答案代码
- 基于FPGA的Alpha半透明图像叠加算法实现
- crontab运行shell脚本报sudo错误
- [李景山php]每天laravel-20160921|Redis Database.php
- Post Views Options怎么设置,WP-PostViews的后台设置五步法详解
- java反向工程神器ermaster
- hdu-1242 Rescue DFS解法
- Android 6.0 通话UI设计模式分析(MVC\MVP\MVVM)
- 深入理解 Android 中的 Matrix
- const 指针与指向const的指针
- Mybatis关联查询,查询出的记录数量与数据库直接查询不一致,如何解决?
- .NET之美——C# 中的委托和事件