美文网首页
Mach-o文件详解

Mach-o文件详解

作者: 孙健会员 | 来源:发表于2023-11-22 16:57 被阅读0次

Mach-O文件格式

image.png

Header

image.png

Load Commands

load commnads紧跟在header之后,告诉内核和dyld,如何将App运行所需要的资源加载入内存中。比如main函数的加载地址,动态链接器dyld的文件路径,以及相关依赖库的文件路径,还有Data中的Segment如何加载入内存。


image.png

LC_SEGMENT_64(_PAGEZERO)是一个特殊的Segment,这个Segment其实是苹果虚拟出来的,只是一个逻辑上的段,而在Data中,根本没有对应的内容,也没有占用任何磁盘空间。LC_SEGMENT_64(_PAGEZERO)在VM中被置为Read only,逻辑上占用APP最开始的一段内存空间,用来处理空指针。由上图可以看到其vm size是4294967296字节 = 4GB,但是其真正的物理地址File size和File offset都是0。

LC_LOAD_DYLIB

在 Load Commands 里,有很多 LC_LOAD_DYLIB 命令,用来加载动态库,包括系统动态库和我们自己添加的动态库


image.png

__TEXT

image.png

__DATA

image.png

相关文章

  • 十三 ASLR

    一 Mach-O文件内存分布 二 ASLR详解 三 实例演示ASLR的应用 一 Mach-O文件内存分布 我们平时...

  • IOS Mach-o 文件的解析

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

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

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

  • 四 iOS逆向- Mach-O

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

  • MachO文件

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

  • 详解 Mach-O 文件结构

    前言 在学习iOS逆向的过程中,发现在解密可执行文件 dumpdecrypted 砸壳原理时需要用到 Mach-O...

  • iOS逆向之Mach-O文件(上)

    本文主要介绍Mach-O文件格式以及通用二进制文件 Mach-O文件概述 Mach-O其实是Mach Object...

  • 【iOS逆向工程】Mach-O

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

  • Mach-O文件介绍及dyld加载流程

    什么是Mach-O文件? Mach-O文件是Mach object文件的缩写,它在NeXTSTEP.MacOS,i...

  • 关于 mach-o 的一些笔记

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

网友评论

      本文标题:Mach-o文件详解

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