美文网首页逆向
iOS逆向-应用类分析工具class-dump

iOS逆向-应用类分析工具class-dump

作者: 繁星mind | 来源:发表于2017-02-08 22:48 被阅读250次

      在逆向过程中,如果想分析一个应用中类的组成以及类中有哪些方法,可以利用class-dump导出类的头文件和头文件中的方法,不过在class-dump前,必须要先将应用砸壳,比如用dumpdecrypted来进行砸壳操作,然后导出砸壳后的应用。

一、class_dump简介

      class-dump是一个命令工具,可以对砸壳后的二级制文件进行分析,导出头文件,其原理是根据应用的MACH-O文件中类和方法信息,将应用中的类和方法导出来的。

class-dump下载地址:https://github.com/nygard/class-dump

二、class-dump编译

下载完class-dump的源文件以后,用xcode打开文件,然后选择class-dump运行,如下图所示:

然后在product文件中找到编译后的二进制文件,如下图所示:

这样就得到了class-dump的可执行文件了。

三、class-dump的使用

得到class-dump的可执行文件以后,就可以导出应用的类的头文件了

我使用的命令如下:

~/Documents/class-dump -s -S -H --arch arm64 ~/Desktop/WeChat.decrypted -o  ~/Desktop/header6.3-arm64

命令解释

以下是 class-dump [options]选项的参数含义

-a  显示实例变量偏移

-A  显示实现地址

–arch选择一个指定的架构,如ppc, ppc7400, ppc64, i386, x86_64

-C只显示同正则表达式匹配的类

-f在方法名中查找字符串

-H  在当前目录生成头文件,或者在用-o选项指定的目录生成

-I    对类,目录,协议 按照继承关系(inheritance)进行排序(覆盖-s选项)

-o为-H选项指定输出目录

-r  递归扩展framework,并修复VM共享库

-s  按名称对classes和categories进行排序

-S  按名称对方法(method)进行排序

四、class-dump结果(微信为例)

微信的部分类文件头

随意打开一个头文件,内容如下:

AACloseNotifyRes.h文件

参考:

https://github.com/nygard/class-dump

http://www.cnblogs.com/zxtx/articles/2307100.html

相关文章

网友评论

    本文标题:iOS逆向-应用类分析工具class-dump

    本文链接:https://www.haomeiwen.com/subject/kmvbittx.html