class-dump 安裝與使用

1、安裝

下載地址:http://stevenygard.com/projects/class-dump/

屏幕快照 2019-08-08 下午11.44.38.png

打開(kāi)下載后的文件
屏幕快照 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,打開(kāi)后里面的可執(zhí)行文件XZL)
屏幕快照 2019-08-08 下午11.57.32.png

屏幕快照 2019-08-11 上午12.00.48.png

XZL就是mach-o文件

3、可選屬性

-a

顯示實(shí)例變量偏移量
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

顯示實(shí)現(xiàn)地址
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>

從通用二進(jìn)制文件(ppc、ppc64、i386、x86_64、armv6、armv7、armv7s、arm64)中選擇特定的體系結(jié)構(gòu)
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>

只顯示與正則表達(dá)式匹配的類
only display classes matching regular expression
options : -C <regex>
// 待測(cè)試,正則不是太熟悉 ^_^

-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

在當(dāng)前目錄或用-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/點(diǎn)H文件 /Users/7890chen/Desktop/IPA文件/XZL-dis/Payload/XZL.app 

屏幕快照 2019-08-09 上午1.35.00.png

-I

通過(guò)繼承(覆蓋-s)對(duì)類、類別和協(xié)議進(jìn)行排序
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

遞歸地?cái)U(kuò)展框架和固定VM共享庫(kù)
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

按名稱對(duì)類和類別進(jìn)行排序
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

在輸出中抑制報(bào)頭,用于測(cè)試
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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容