Open
Description
Mach O文件主要分成三大部分:
Header: 头部区域,包含了cpu类型,cpu子类型,文件类型,加载命令数,加载命令占用的空间
load Commands: 加载命令,由多个Segments command组成,每个类型有一个专门的结构体。这些加载命令用于指导如何加载对应的二进制数据段。
Data:Segments的具体数据;
每个Segments 由多个session构成。下面是几个重要的Segments
*__TEXT :代码段/只读数据段
*__DATA :数据段
*__PAGEZERO: 空指针陷阱段,用于捕获对NULL指针的引用
*__LINKEDIT: 动态链接库使用的原始数据,比如符号,字符串,重定位表条目等等, 该段可读写。
*__OBJC: 包括会被Runtime使用到的一些数据
Metadata
Metadata
Assignees
Labels
No labels
Activity