美文网首页
Mach-O 文件中的Segement

Mach-O 文件中的Segement

作者: 卡布奇诺_95d2 | 来源:发表于2021-02-04 14:20 被阅读0次

Mach-O 文件中的虚拟地址最终会映射到物理地址上。这些地址被分成不同的Segement:

  • __TEXT段:包含 Mach header,被执行的代码和只读常量(如C 字符串),只读可执行(r-x)
  • __DATA段:包含全局变量,静态变量等,可读写(rw-)。
  • __LINKEDIT段:包含了加载程序的元数据,比如函数的名称和地址,只读(r–).

__TEXT段中的 Section

字段 说明
__text 代码节,存放机器编译后的代码
__stubs 用于辅助做动态链接代码(dyld)
__stub_helper 用于辅助做动态链接
__objc_methname objc的方法名称
__cstring 代码运行中包含的字符串常量,例:#define kKey @"123",123会存在这个区里
__objc_classname 类名
__objc_methtype 方法类型
__const 存储const修饰的常量

__DATA段中的 Section

字段 说明
__got 存储引用符号的实际地址,类似于动态符号表
__la_symbol_ptr lazy symbol pointers。懒加载的函数指针地址。配合__stubs和stub_helper使用。
__mod_init_func 模块初始化的方法
__const 存储constant常量的数据。比如使用extern导出的const修饰的常量。
__cfstring Core Foundation 字符串
__objc_classlist OC类列表和类信息,映射了__objc_data的地址
__objc_nlclslist OC 的 +load 函数列表,比 __mod_init_func 更早执行
__objc_catlist categories
__objc_nlcatlist categories的+load`函数列表
__objc_protolist 协议列表
__objc_imageinfo 镜像信息
__objc_const OC常量。保存objc_classdata结构体数据。用于映射类相关数据的地址,比如类名,方法名等
__objc_selrefs 引用的 OC 方法
__objc_protorefs 引用的 OC 协议
__objc_classrefs 引用的 OC 类
__objc_superrefs 引用的 OC超类
__objc_ivar ivar指针
__objc_data 用于保存类需要的数据。最主要的内容是映射__objc_const地址,找到类的相关数据。
__data 存放了协议和已经初始化的静态量
__bss 存储未初始化的静态量
__common 存储导出的全局的数据

相关文章

  • Mach-O 文件中的Segement

    Mach-O 文件中的虚拟地址最终会映射到物理地址上。这些地址被分成不同的Segement: __TEXT段:包含...

  • IOS Mach-o 文件的解析

    导论 Mach-o 文件图解 Mach-o 文件中专有名词解释 Mach-o 文件中函数存储地址 Mach-o 文...

  • Kafka生产者

    kafka采用分片(segement)和索引(用.log和.index索引segement)防止单个数据文件过大。...

  • 关于 mach-o 的一些笔记

    mach-o 格式文件 mach-o 的文件类型 可以在xnu源码中,查看到Mach-O格式的详细定义(https...

  • iOS堆栈信息解析(Mach-O)

    Mach-O文件 Mach-O格式全称为Mach Object文件格式的缩写 Mach-O文件类型分类: 1.Ex...

  • 初识Mach-O文件

    前言:本文旨在介绍iOS中的Mach-O文件。 一、介绍 Mach-O是一种文件的格式(可执行文件的格式,比如图片...

  • MachO文件

    MachO文件 前言 Mach-O(Mach Object):Mach-O 文件是Mach object文件格式的...

  • 四 iOS逆向- Mach-O

    Mach-O文件类型 Mach-O文件基本结构 通用二进制文件 Mach-O是Mach object的缩写,是Ma...

  • Mach-O 文件二

    前言 我们知道对于OS X和iOS 来说 Mach-O 是其可执行文件的格式。在 Mach-O 文件一 中,我们知...

  • 【iOS逆向工程】Mach-O

    IPA包里的可执行文件就是Mach-O文件 Mach-O文件压缩一下就是IPA Mach-O是Mach objec...

网友评论

      本文标题:Mach-O 文件中的Segement

      本文链接:https://www.haomeiwen.com/subject/wxebtltx.html