前言:
MachOView下載地址:http://sourceforge.net/projects/machoview/
MachOView源碼地址:https://github.com/gdbinit/MachOView
Mach-O格式全稱為Mach Object文件格式的縮寫悄但,是mac上可執(zhí)行文件的格式亡问,類似于windows上的PE格式 (Portable Executable ), linux上的elf格式 (Executable and Linking Format)蕉朵。
mach-o文件類型分為:
1、Executable:應用的主要二進制
2击碗、Dylib Library:動態(tài)鏈接庫(又稱DSO或DLL)
3、Static Library:靜態(tài)鏈接庫
4、Bundle:不能被鏈接的Dylib外遇,只能在運行時使用dlopen( )加載票灰,可當做macOS的插件
5女阀、Relocatable Object File :可重定向文件類型
那什么又是FatFile/FatBinary?
簡單來說屑迂,就是一個由不同的編譯架構后的Mach-O產(chǎn)物所合成的集合體浸策。一個架構的mach-O只能在相同架構的機器或者模擬器上用,為了支持不同架構需要一個集合體惹盼。
一庸汗、使用方式
1、MachOView工具概述
MachOView工具可Mac平臺中可查看MachO文件格式信息手报,IOS系統(tǒng)中可執(zhí)行程序?qū)儆贛ach-O文件格式蚯舱,有必要介紹如何利用工具快速查看Mach-O文件格式。MachOView工具屬于免費開源項目掩蛤,源代碼可在https://github.com/gdbinit/MachOView下載枉昏,MachOView安裝之后文件布局如下圖所示:
點擊“MachOView”之后,便在Mac系統(tǒng)左上角出現(xiàn)MachOView工具的操作菜單揍鸟,對應功能菜單如下圖所示:
將“MachOView”拖到Application文件夾兄裂,就可以像其他程序一樣啟動了
下面介紹MachOView文件功能使用。
2阳藻、加載Mach-O文件
點擊MachOView工具的主菜單“File”中的“Open”選項便可加載IOS平臺可執(zhí)行文件晰奖,對應功能接入如下所示:
例如加載文件名為“l(fā)ibLDCPCircle.a”的靜態(tài)庫文件,加載成功之后顯示的界面如下圖所示:
上圖界面出現(xiàn)表明Mach-O文件加載完畢腥泥。
3匾南、文件頭信息
MachOView工具成功加載Mach-O文件之后,每個.o文件對應一個類編譯后的文件道川,展開每個類如下如:
在左邊窗口點擊“Mach Header”選項午衰,可以看到每個類的cpu架構信息立宜、load commands數(shù)量 、load commandssize 臊岸、file type等信息橙数。
4、查看Fat文件
我們打開一個Fat文件可以看到:
可以看到帅戒,fat文件只是對各種架構文件的組裝灯帮,點開 “Fat Header”可以看到支持的架構,圖中顯示的支持ARM_V7 逻住、ARM_V7S 钟哥、ARM_64 、i386 瞎访、 X86_64腻贰。
作者:ITxiansheng
鏈接:http://www.reibang.com/p/175925ab3355
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯(lián)系作者獲得授權并注明出處扒秸。