Mach-O文件整体分为三部分:
1. header:主要包含mach-o的类型(静态库, 动态库, exe)、体系结构、加载命令的个数和长度等信息
2. load commands
有很多个命令,分别用于加载动态库、加载数据段等。命令中包及要加载的段的名称、基地址、地址偏移量,大小等信息
3. Data
分为__TEXT和__DATA两种类型以及其他补充字段如符号表、字符串表等等。__TEXT中主要是代码信息,比如__objc_classname即某个类的信息,__DATA中主要是常量、全局变量等信息。