前言:

MachOView下载地址:

MachOView源码地址:

Mach-O格式全称为Mach Object文件格式的缩写,是mac上可执行文件的格式,类似于windows上的PE格式 (Portable Executable ), linux上的elf格式 (Executable and Linking Format)。

mach-o文件类型分为:

1、Executable:应用的主要二进制

2、Dylib Library:动态链接库(又称DSO或DLL)

3、Static Library:静态链接库

4、Bundle:不能被链接的Dylib,只能在运行时使用dlopen( )加载,可当做macOS的插件

5、Relocatable Object File :可重定向文件类型

那什么又是FatFile/FatBinary?

简单来说,就是一个由不同的编译架构后的Mach-O产物所合成的集合体。一个架构的mach-O只能在相同架构的机器或者模拟器上用,为了支持不同架构需要一个集合体。

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

一、使用方式

1、MachOView工具概述

MachOView工具可Mac平台中可查看MachO文件格式信息,IOS系统中可执行程序属于Mach-O文件格式,MachOView工具属于免费开源项目,源代码可在https://github.com/gdbinit/Ma...下载,
图片描述

在左边窗口点击“Mach Header”选项,可以看到每个类的cpu架构信息、load commands数量 、load commandssize 、file type等信息。

查看Fat文件

图片描述

t文件只是对各种架构文件的组装,点开 “Fat Header”可以看到支持的架构,图中显示的支持ARM_V7 、ARM_64

小命令:

ipo LoginSDK.a -thin armv7 -output arm/LoginSDK.a ##  将fat文件拆分得到armv7类型


lipo  -create    ibSyncSDKA.i386.a    libSyncSDK.arm7.a  -output  libSyncSDK.a  ##合成一个i386和armV7架构的fat文件

iOS逆向
44 声望15 粉丝