Macho檔案(Mach Object的縮寫)
開發中常見的格式有
- 可執行檔案
- .o檔案(目標檔案)/a 靜態庫檔案.其實就是N個.o檔案的集合
- 動態庫檔案(dylib/framework)
- 動態聯結器
- DSYM
我們首先使用MachoView,去檢視App的核心可執行檔案的內部,這裡以微信App為例
取出微信的二進位制可執行檔案(Macho檔案) ,開啟MachoView進行分析 首先能看到的就是這個App包含2個架構(Arm64 和 Armv7) 接著展開,Arm64架構,看一下里面的東西
其實通過英語,都能簡單知道大概這是啥,裡面的objc_methodname,objc_classname,裡面記錄了App的各種類名和方法名。 個人猜測蘋果檢視是不是馬甲包,除了二進位制的相似度之外,還會根據這裡的類名和方法名進行校準。 其他後面用到再解釋咯