class-dump的安裝與使用

class-dump的安裝

系統(tǒng):macOS High Sierra 版本 10.13.1
首先下載class-dump。下載地址
下載完成后得到一個.dmg包文件并雙擊打開(根據(jù)下載文件的不同得到的包也不同)。

class-dump.png

打開此文件后,按照《iOS應用逆向工程》這本書上的要求,需要將此class-dump文件移到/usr/bin文件夾下。但是由于新的macOS系統(tǒng)不允許訪問該文件夾宣旱,因此,采用下面的方法:

  1. 首先在根目錄下新建文件夾專門用于存放自己下載的工具:
    • mkdir ~/bin
  2. 然后將class-dump移動到該文件夾下并賦予它可執(zhí)行權(quán)限:
    • mv class-dump ~/bin
    • chmod 777 ~/bin/class-dump
  3. 配置全局環(huán)境變量叛薯,使用編輯器打開profile文件:
    • vim ~/.bash_profile
  4. 在文件最上方添加如下一行:
  • export PATH=$HOME/bin/:$PATH
  1. 在終端執(zhí)行source ~/.bash_profile

至此浑吟,安裝class_dump已經(jīng)全部完成。
可以在終端直接輸入class-dump命令測試一下:


測試

class-dump的使用

使用class-dump可以得到目標對象的class信息耗溜。它是利用OC的Runtime特性组力,將存儲在Mach-O文件中的頭文件信息提取出來,并生成對應的.h文件抖拴。通過生成的.h文件燎字,我們可以分析該App實現(xiàn)的大致思路以及關(guān)鍵的類對應的功能,從而進一步進行逆向工作阿宅。

下面就以一個IPA包為例候衍,演示如何使用class-dump工具分析出對應的頭文件。假定得到的包已經(jīng)脫殼家夺。

對于一個IPA包脱柱,首先需要使用解壓工具或者歸檔工具將它變成.app文件。要注意的是拉馋,對于.app文件榨为,可以通過右鍵-顯示包內(nèi)容查看它惨好,也可以通過終端直接cd進去,在class-dump時随闺,就是要通過終端cd進入.app包內(nèi)日川。

  1. 將IPA包放到任意文件夾下。本例中以一個2048應用包為例矩乐。
  2. 進入IPA對應的.app包內(nèi)龄句,使用plutil工具查看該IPA包對應的可執(zhí)行文件名稱:
    • plutil -p Info.plist | grep CFBundleExecutable
  3. 得到可執(zhí)行文件名稱“m2048”后,使用class-dump導出該應用程序的頭文件到指定文件夾下:
    • class-dump -S -s -H m2048 -o ~/Documents/working/IPA/2048/headers/
  4. 查看導出的頭文件散罕,根據(jù)頭文件進行進一步逆向分歇。


    導出的頭文件

下面是一些常用的class-dump選項:

  • -a :顯示實例的方法以及變量。
  • -A :顯示運行時類所在的地址欧漱。
  • -f <str>:顯示包含或者匹配str的方法名职抡。
  • -H :在當前文件夾生成所有的頭文件。后接-o參數(shù)表示在其它文件夾生成误甚。
  • -I :根據(jù)繼承關(guān)系對類缚甩、類別和接口進行排序。會覆蓋 -s窑邦。
  • -s :根據(jù)名稱對類擅威、類別進行排序。
  • -S :根據(jù)名稱對方法名進行排序冈钦。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末郊丛,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子瞧筛,更是在濱河造成了極大的恐慌宾袜,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驾窟,死亡現(xiàn)場離奇詭異,居然都是意外死亡认轨,警方通過查閱死者的電腦和手機绅络,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嘁字,“玉大人恩急,你說我怎么就攤上這事〖脱眩” “怎么了衷恭?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長纯续。 經(jīng)常有香客問我随珠,道長灭袁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任窗看,我火速辦了婚禮茸歧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘显沈。我一直安慰自己软瞎,他們只是感情好,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布拉讯。 她就那樣靜靜地躺著涤浇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪魔慷。 梳的紋絲不亂的頭發(fā)上只锭,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音盖彭,去河邊找鬼纹烹。 笑死,一個胖子當著我的面吹牛召边,可吹牛的內(nèi)容都是我干的铺呵。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼隧熙,長吁一口氣:“原來是場噩夢啊……” “哼片挂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起贞盯,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤音念,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后躏敢,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體闷愤,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年件余,在試婚紗的時候發(fā)現(xiàn)自己被綠了讥脐。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡啼器,死狀恐怖旬渠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情端壳,我是刑警寧澤告丢,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站损谦,受9級特大地震影響岖免,放射性物質(zhì)發(fā)生泄漏岳颇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一觅捆、第九天 我趴在偏房一處隱蔽的房頂上張望赦役。 院中可真熱鬧,春花似錦栅炒、人聲如沸掂摔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乙漓。三九已至,卻和暖如春释移,著一層夾襖步出監(jiān)牢的瞬間叭披,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工玩讳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留涩蜘,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓熏纯,卻偏偏與公主長得像同诫,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子樟澜,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容