1、安装
下载地址:http://stevenygard.com/projects/class-dump/
打开下载后的文件
屏幕快照 2019-08-08 下午11.45.05.png
将class-dump 文件移到 /usr/local/bin
屏幕快照 2019-08-08 下午11.48.48.png
查看class-dump 命令
屏幕快照 2019-08-08 下午11.52.36.png
2、用法
class-dump [options] <mach-o-file>
options 可选条件
mach-o 文件(ipa文件解压后,Payload中的文件XZL,打开后里面的可执行文件XZL)
屏幕快照 2019-08-08 下午11.57.32.png
屏幕快照 2019-08-11 上午12.00.48.png
XZL就是mach-o文件
3、可选属性
-a
显示实例变量偏移量
show instance variable offsets
options : -a
eg:class-dump -a /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app
屏幕快照 2019-08-09 上午12.25.10.png
-A
显示实现地址
show implementation addresses
options : -A
class-dump -A /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app
屏幕快照 2019-08-09 上午1.06.02.png
--arch <arch>
从通用二进制文件(ppc、ppc64、i386、x86_64、armv6、armv7、armv7s、arm64)中选择特定的体系结构
choose a specific architecture from a universal binary (ppc, ppc64, i386, x86_64, armv6, armv7, armv7s, arm64)
options : --arch <arch>
eg:class-dump --arch arm64 /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app
eg:class-dump --arch armv7 /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app
屏幕快照 2019-08-09 上午1.17.21.png
屏幕快照 2019-08-09 上午1.18.00.png
-C <regex>
只显示与正则表达式匹配的类
only display classes matching regular expression
options : -C <regex>
// 待测试,正则不是太熟悉 ^_^
-f <str>
在方法名中查找字符串
find string in method name
options : -f <str>
eg:class-dump -f init /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app
屏幕快照 2019-08-09 上午1.27.27.png
-H
在当前目录或用-o指定的目录中生成头文件
generate header files in current directory, or directory specified with -o
options : -H
eg:class-dump -H -o /Users/7890chen/Desktop/IPA文件/XZL-dis/点H文件 /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app
屏幕快照 2019-08-09 上午1.35.00.png
-I
通过继承(覆盖-s)对类、类别和协议进行排序
sort classes, categories, and protocols by inheritance (overrides -s)
options : -I
eg:class-dump -I /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app
屏幕快照 2019-08-09 上午1.41.07.png
-o <dir>
用于-H的输出目录
output directory used for -H
options : -o <dir>
-r
递归地扩展框架和固定VM共享库
recursively expand frameworks and fixed VM shared libraries
options : -r
eg:class-dump -r /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app
framework 中的文件中的变量和方法名
-s
按名称对类和类别进行排序
sort classes and categories by name
options : -s
eg:class-dump -s /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app
屏幕快照 2019-08-09 上午1.53.41.png
-S
按名称排序方法
sort methods by name
options : -S
eg:class-dump -S /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app
屏幕快照 2019-08-09 上午1.58.13.png
-t
在输出中抑制报头,用于测试
suppress header in output, for testing
options : -t
--list-arches
列出文件中的arches,然后退出
list the arches in the file, then exit
options : --list-arches
屏幕快照 2019-08-09 上午2.03.25.png
--sdk-ios
指定iOS SDK版本(将在/Developer/ platform/ iPhoneOS.platform/Developer/SDKs/iPhoneOS<version>.sdk)
specify iOS SDK version (will look in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS<version>.sdk
options : --sdk-ios
--sdk-mac
指定MacOSX版本(查看/Developer/SDKs/MacOSX<version>.sdk)
specify Mac OS X version (will look in /Developer/SDKs/MacOSX<version>.sdk
options : --sdk-mac
--sdk-root
指定完整的SDK根路径(或者使用——SDK -ios/——SDK -mac作为快捷方式)
specify the full SDK root path (or use --sdk-ios/--sdk-mac for a shortcut)
options : --sdk-root
网友评论