iOS逆向之旅(基础篇) — Macho文件

Macho文件(Mach Object的缩写)

开发中常见的格式有

  • 可执行文件
  • .o文件(目标文件)/a 静态库文件.其实就是N个.o文件的集合
  • 动态库文件(dylib/framework)
  • 动态连接器
  • DSYM

我们首先使用MachoView,去查看App的核心可执行文件的内部,这里以微信App为例


iOS逆向之旅(基础篇) — Macho文件_第1张图片
7.png

iOS逆向之旅(基础篇) — Macho文件_第2张图片
8.png

取出微信的二进制可执行文件(Macho文件) ,打开MachoView进行分析


iOS逆向之旅(基础篇) — Macho文件_第3张图片
9.png

首先能看到的就是这个App包含2个架构(Arm64 和 Armv7)
接着展开,Arm64架构,看一下里面的东西
iOS逆向之旅(基础篇) — Macho文件_第4张图片
10.png

其实通过英语,都能简单知道大概这是啥,里面的objc_methodname,objc_classname,里面记录了App的各种类名和方法名。
个人猜测苹果查看是不是马甲包,除了二进制的相似度之外,还会根据这里的类名和方法名进行校准。
其他后面用到再解释咯

你可能感兴趣的:(iOS逆向之旅(基础篇) — Macho文件)