iOS逆向 Mach-O知識

Mach-O

  • Mach-O是Mach object的縮寫,是Mac\iOS上用于存儲程序、庫的標(biāo)準(zhǔn)格式.常見的Mach-O文件比如iOS開發(fā)好的代碼打包好后就是Mach-O格式的文件.
  • Apple中定義的Mach-O文件包含圖一中幾種:


    圖一:Mach-O文件定義格式

可以在xnu源碼中你画,查看到Mach-O格式的詳細(xì)定義:https://opensource.apple.com/tarballs/xnu/

常見的幾種Mach-O文件

目標(biāo)文件(.o)
靜態(tài)庫文件(.a)抬闷,靜態(tài)庫其實就是N個.o合并在一起

MH_EXECUTE:可執(zhí)行文件
.app/xx

MH_DYLIB:動態(tài)庫文件
.dylib
.framework/xx

MH_DYLINKER:動態(tài)鏈接編輯器
/usr/lib/dyld

MH_DSYM:存儲著二進(jìn)制文件符號信息的文件
.dSYM/Contents/Resources/DWARF/xx(常用于分析APP的崩潰信息)

Mach-O的基本結(jié)構(gòu)

1.Header
文件類型、目標(biāo)架構(gòu)類型等
2.Load commands
描述文件在虛擬內(nèi)存中的邏輯結(jié)構(gòu)主届、布局
3.Raw segment data
在Load commands中定義的Segment的原始數(shù)據(jù)

圖二:Mach-O的三部分部分

命令查看Mach-O信息

1.查看Mach-O的文件類型
$ file Mach-O文件路徑
  • 例如查看APP支持的架構(gòu)(arm64或者32)如圖三


    圖三:file命令查看Mach-O結(jié)構(gòu)
2.查看Mach-O的特定部分如圖四(頭信息或者段信息)
$ otool -h Mach-O文件路徑 //查看頭信息
$ otool -l Mach-O文件路徑 | grep cryptid//查看Mach-O文件路徑文件是否加密
圖四:查看Mach-O頭信息
3.多架構(gòu)Mach-O文件的處理,可以將arm64和32分開,合并
$ lipo  -info  文件路徑//看架構(gòu)信息
$ lipo  文件路徑  -thin  架構(gòu)類型  -output  輸出文件路徑//導(dǎo)出某種特定架構(gòu)
$ lipo  文件路徑1  文件路徑2  -output  輸出文件路徑//合并多種架構(gòu)

Mach-OGUI查看工具M(jìn)ach-OView

MachOView下載編譯即可.

編譯出來有問題的話,可以直接百度下載.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末讲婚,一起剝皮案震驚了整個濱河市尿孔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌筹麸,老刑警劉巖活合,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異物赶,居然都是意外死亡白指,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門块差,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侵续,“玉大人倔丈,你說我怎么就攤上這事憨闰∽次希” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵鹉动,是天一觀的道長轧坎。 經(jīng)常有香客問我,道長泽示,這世上最難降的妖魔是什么缸血? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮械筛,結(jié)果婚禮上捎泻,老公的妹妹穿的比我還像新娘。我一直安慰自己埋哟,他們只是感情好笆豁,可當(dāng)我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著赤赊,像睡著了一般闯狱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上抛计,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天哄孤,我揣著相機與錄音,去河邊找鬼吹截。 笑死瘦陈,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的波俄。 我是一名探鬼主播晨逝,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼弟断!你這毒婦竟也來了咏花?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤阀趴,失蹤者是張志新(化名)和其女友劉穎昏翰,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刘急,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡棚菊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了叔汁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片统求。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡检碗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出码邻,到底是詐尸還是另有隱情折剃,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布像屋,位于F島的核電站怕犁,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏己莺。R本人自食惡果不足惜奏甫,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望凌受。 院中可真熱鬧阵子,春花似錦、人聲如沸胜蛉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽腾么。三九已至奈梳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間解虱,已是汗流浹背攘须。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留殴泰,地道東北人于宙。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像悍汛,于是被迫代替她去往敵國和親捞魁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,828評論 2 345

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