MachOView工具

Mach-O格式全稱為Mach Object文件格式的縮寫夺巩,是mac上可執(zhí)行文件的格式,類似于windows上的PE格式 (Portable Executable ), linux上的elf格式 (Executable and Linking Format)由蘑。
MachOView下載地址:http://sourceforge.net/projects/machoview/

MachOView源碼地址:https://github.com/gdbinit/MachOView

mach-o文件類型分為:

1参袱、Executable:應(yīng)用的主要二進(jìn)制

2、Dylib Library:動態(tài)鏈接庫(又稱DSO或DLL)

3浑彰、Static Library:靜態(tài)鏈接庫

4恭理、Bundle:不能被鏈接的Dylib,只能在運(yùn)行時(shí)使用dlopen( )加載闸昨,可當(dāng)做macOS的插件

5蚯斯、Relocatable Object File :可重定向文件類型

什么是FatFile/FatBinary?

簡單來說饵较,就是一個(gè)由不同的編譯架構(gòu)后的Mach-O產(chǎn)物所合成的集合體拍嵌。一個(gè)架構(gòu)的mach-O只能在相同架構(gòu)的機(jī)器或者模擬器上用,為了支持不同架構(gòu)需要一個(gè)集合體循诉。

一横辆、使用方式

1、MachOView工具概述

MachOView工具可Mac平臺中可查看MachO文件格式信息茄猫,IOS系統(tǒng)中可執(zhí)行程序?qū)儆贛ach-O文件格式狈蚤,有必要介紹如何利用工具快速查看Mach-O文件格式。MachOView工具屬于免費(fèi)開源項(xiàng)目划纽,源代碼可在https://github.com/gdbinit/MachOView下載脆侮,MachOView安裝之后文件布局如下圖所示:

image

點(diǎn)擊“MachOView”之后,便在Mac系統(tǒng)左上角出現(xiàn)MachOView工具的操作菜單勇劣,對應(yīng)功能菜單如下圖所示:

image

將“MachOView”拖到Application文件夾靖避,就可以像其他程序一樣啟動了

下面介紹MachOView文件功能使用潭枣。

2、加載Mach-O文件

點(diǎn)擊MachOView工具的主菜單“File”中的“Open”選項(xiàng)便可加載IOS平臺可執(zhí)行文件幻捏,對應(yīng)功能接入如下所示:

image

例如加載文件名為“l(fā)ibLDCPCircle.a”的靜態(tài)庫文件盆犁,加載成功之后顯示的界面如下圖所示:

image

上圖界面出現(xiàn)表明Mach-O文件加載完畢。

3篡九、文件頭信息

MachOView工具成功加載Mach-O文件之后谐岁,每個(gè).o文件對應(yīng)一個(gè)類編譯后的文件,展開每個(gè)類如下如:

image

在左邊窗口點(diǎn)擊“Mach Header”選項(xiàng)榛臼,可以看到每個(gè)類的cpu架構(gòu)信息伊佃、load commands數(shù)量 、load commandssize 讽坏、file type等信息锭魔。

4例证、查看Fat文件

我們打開一個(gè)Fat文件可以看到:

image

可以看到路呜,fat文件只是對各種架構(gòu)文件的組裝,點(diǎn)開 “Fat Header”可以看到支持的架構(gòu)织咧,圖中顯示的支持ARM_V7 胀葱、ARM_V7S 、ARM_64 笙蒙、i386 抵屿、 X86_64。

image

點(diǎn)開每一個(gè)Static Library 可以看到捅位,和每一個(gè)單獨(dú)的Static Library的信息一樣轧葛。

小命令:

lipo LoginSDK.a -thin armv7 -output arm/LoginSDK.a 將fat文件拆分得到armv7類型

lipo -create ibSyncSDKA.i386.a libSyncSDK.arm7.a -output libSyncSDK.a 合成一個(gè)i386和armV7架構(gòu)的fat文件

轉(zhuǎn)自作者:ITxiansheng
鏈接:http://www.reibang.com/p/175925ab3355

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市艇搀,隨后出現(xiàn)的幾起案子尿扯,更是在濱河造成了極大的恐慌,老刑警劉巖焰雕,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衷笋,死亡現(xiàn)場離奇詭異,居然都是意外死亡矩屁,警方通過查閱死者的電腦和手機(jī)辟宗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吝秕,“玉大人泊脐,你說我怎么就攤上這事∷盖停” “怎么了容客?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我耘柱,道長如捅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任调煎,我火速辦了婚禮镜遣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘士袄。我一直安慰自己悲关,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布娄柳。 她就那樣靜靜地躺著寓辱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赤拒。 梳的紋絲不亂的頭發(fā)上秫筏,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天,我揣著相機(jī)與錄音挎挖,去河邊找鬼这敬。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蕉朵,可吹牛的內(nèi)容都是我干的崔涂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼始衅,長吁一口氣:“原來是場噩夢啊……” “哼冷蚂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起汛闸,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蝙茶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蛉拙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體尸闸,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年孕锄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吮廉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,615評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡畸肆,死狀恐怖宦芦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情轴脐,我是刑警寧澤调卑,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布抡砂,位于F島的核電站,受9級特大地震影響恬涧,放射性物質(zhì)發(fā)生泄漏注益。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一溯捆、第九天 我趴在偏房一處隱蔽的房頂上張望丑搔。 院中可真熱鬧,春花似錦提揍、人聲如沸啤月。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谎仲。三九已至,卻和暖如春刨仑,著一層夾襖步出監(jiān)牢的瞬間郑诺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工贸人, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留间景,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓艺智,卻偏偏與公主長得像,于是被迫代替她去往敵國和親圾亏。 傳聞我的和親對象是個(gè)殘疾皇子十拣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評論 2 359