初识mach-o文件

mach-o是Mach Object的缩写,是mac/ios平台上用于存储程序和库的标准格式。
可以在xnu中看到对mach-o的定义:https://opensource.apple.com/tarballs/xnu/
mach-o的类型有11种:

mach-o类型.png

其中常见的几个类型是:


image.png

mach-o文件的结构:
mach-o文件结构主要是三个部分Header,Load commands,Raw segment data。


image.png

一般有什么工具可以查看mach-o文件?


查看mach-o的工具.png

什么是Universal Binary?
Universal Binary就是通用二进制文件,也叫“Fat Binary”(胖二进制文件)。看下图:

Universal Binary.png

dyld和mach-o的关系?
在打包好的ipa里面,其实dyld也是一个mach-o文件,只是这个文件是用来加载其他的mach-o文件和动态库的。


image.png

end

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录一,APP从开发到安装的过程二,class-dump三,Hopper Disassembler四,动态库共享缓...
    码小菜阅读 1,682评论 0 9
  • Mach-o文件 Mach-O 是iOS/macOS系统上应用程序的格式 通用二进制文件(胖二进制文件) 因为Ma...
    CharType阅读 1,050评论 0 2
  • Mach-O是iOS/macOS系统上应用程序的文件格式,是Mach object的缩写,是Mac\iOS上用于存...
    我勒一个去阅读 371评论 0 1
  • 详细版本 https://www.yuque.com/docs/share/077aaf76-0fe6-47da-...
    小沛2016阅读 263评论 0 1
  • 逆向APP的思路 1.界面分析A.CycriptB.Reveal 2.代码分析A.对Mach-O文件的静态分析B....
    木槿WEIXIAO阅读 476评论 0 2