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

1,491 阅读1分钟

Macho文件(Mach Object的缩写)

开发中常见的格式有

  • 可执行文件
  • .o文件(目标文件)/a 静态库文件.其实就是N个.o文件的集合
  • 动态库文件(dylib/framework)
  • 动态连接器
  • DSYM
我们首先使用MachoView,去查看App的核心可执行文件的内部,这里以微信App为例

7.png
8.png
取出微信的二进制可执行文件(Macho文件) ,打开MachoView进行分析
9.png
首先能看到的就是这个App包含2个架构(Arm64 和 Armv7) 接着展开,Arm64架构,看一下里面的东西
10.png

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