iOS 逆向

iOS攻防:class-dump 与 Dumpdecrypted 使用

1 class dumphtml

class dump 是一个用于检查保存在 Mach-O 文件中的 objective-c 运行时信息的工具,攻防中最经常使用、实用的命令行工具。java

1.1 class dump 好玩在哪?

class dump 绝对能够知足你的好奇心。你能够经过 class dump :ios

  1. 查看闭源的应用、frameworks、bundles。
  2. 对比一个 APP 不一样版本之间的接口变化。
  3. 对一些私有 frameworks 作些有趣的试验。

1.2 Download

当前版本: 3.5 (64 bit Intel)
须要 Mac OS X 10.8 或更高版本git

class-dump-3.5.dmg
class-dump-3.5.tar.gz
class-dump-3.5.tar.bz2github

1.3 Use

下载好后,双击dmg文件,将其中的 class-dump 文件放到/usr/local/sbin 目录下,而后就能够在命令行中使用了。objective-c

blog_iOSclassdump01

官方用法指南:express

简单的举例:微信

/Applications/Calculator.app 是 Mac 上计算器应用的路径。
~/Desktop/dump/Calculate-dump 是指定的存放 dump 出来头文件的文件夹路径。架构

执行完成后能够看到指定的保存目录下已经有 dump 出来的头文件了:app

blog_iOSclassdump02

打开一个 .h 文件能够看到相应内容:

blog_iOSclassdump03

2 Dumpdecrypted

class dump 虽然能帮你解析出一个 app 的头文件,可是对于 App Store 下载的 App 都是经过苹果的一层签名加密,一般咱们成为『加壳』。对于已经加壳的 APP,解析后的效果就和加了代码混淆相似。

好比直接去 dump 微信,出来的结果大概是这样:

blog_iOSclass dump04

2.1 Download

dumpdecrypted GitHub 地址

2.2 Install

Dumpdecrypted 比另外一个砸壳工具 Clutch 要难用的多。但因为 Clutch 没法砸开含有兼容 WatchOs
2 的 App,因此只能使用 Dumpdecrypted。

下载后打开 Makefile 文件,注意第三行:

这里填写的 SDK 必须与你越狱的 iPhone 系统等级一致,你能够这样查看你 MAC 的 SDK :

输出:

而个人手机是 7.0 的,因此只能去这里下载对应的 SDK。

Makefile 全部须要填写的填好后:

在当前目录下生成 dumpdecrypted.dylib 文件。

若是你以为很麻烦,能够直接来这里或者这里下载。

2.3 Use

将 dumpdecrypted.dylib 放到须要砸壳 app 的 Documents 下。

查找微信的 Documents:

获得路径:

scp 传输:

砸壳:

 

注意 DYLD_INSERT_LIBRARIES= 后填写的是你刚刚传输的 .dylib 文件名,个人是 dumpdecrypted_7.dylib

砸壳成功:

ls 查看 Documents 中文件多了一个 WeChat.decrypted,这就是砸壳事后的文件,scp出来:

 

3 class dump 砸壳后的文件

上一步咱们获得了 WeChat.decrypted,如今能够对其进行 dump:

 

–arch armv7 是指定架构,dumpdecrypted 只会砸你手机处理器对应的那个壳,fat binary 的其它部分仍然是有壳的,而 class-dump 的默认目标又不是被砸壳的那个部分,若是不指定架构只能导出 CDStructures.h 一个文件

如今就能够看到 dump 后是明文的了:

blog_iOSclassdump05

4 Learn More

当你能看到 .h 文件时候,意味着你知道了这个应用程序的各类接口,除了学习别人的优雅代码以外,显然也也能够作一些更有意思的事情,经过一些猜测和试验,咱们能够去尝试作一个微信的插件。

下一次iOS攻防将会介绍动态库的注入和微信插件的制做~

若是您感兴趣~请点击下方打赏支持萌妹子的原创哟~


有什么问题均可以在博文后面留言,或者微博上私信我,或者邮件我coderfish@163.com

博主主要写 java 和 iOS 的。

但愿你们一块儿进步。

CSDN: CSDN博客地址

个人微博:小鱼周凌宇

相关文章
相关标签/搜索