MachO文件详解--逆向开发
今天是逆向开发的第5天内容--MachO文件(Mac 和 iOS 平台可执行的文件),在逆向开发中是比较重要的,下面我们着重讲解一下MachO文件的基本内容和使用。 一、MachO概述 1. 概述 Mach-O是Mach Object文件格式的缩写,iOS以及Mac上可执行的文件格式,类似Window的exe格式,Linux上的elf格式。Mach-O是一个可执行文件、动态库以及目标代码的文件格式,是a.out格式的替代,提供了更高更强的扩展性。 2.常见格式 Mach-O常见格式如下: 目标文件 .o 库文件 .a .dylib .framework 可执行文件 dyld .dsym 通过 file 文件路径查看文件类型 我们通过部分实例代码来简单研究一下。 2.1目标文件.o 通过test.c 文件,可以使用clang命令将其编译成目标文件.o 我们再通过 file 命令(如下)查看文件类型 是个Mach-O文件。 2.2 dylib 通过cd /usr/lib命令查看dylib 通过file命令查看文件类型 2.3 . dsym 下面是一个截图来说明.dsym是也是Mach-O文件格式 以上只是Mach-O常见格式的某一种,大家可以通过命令来尝试。 3. 通用二进制文件 希望大家在了解App二进制架构的时候,可以先读一下 本人 写 的另一篇博客关于armv7