iOS逆向之旅(基础篇) — Macho文件
2018-10-15 本文已影响0人
洪呵呵_
Macho文件(Mach Object的缩写)
开发中常见的格式有
- 可执行文件
- .o文件(目标文件)/a 静态库文件.其实就是N个.o文件的集合
- 动态库文件(dylib/framework)
- 动态连接器
- DSYM
我们首先使用MachoView,去查看App的核心可执行文件的内部,这里以微信App为例
![](https://img.haomeiwen.com/i1975331/a5f2bc2dbdd96d25.png)
![](https://img.haomeiwen.com/i1975331/9c9919c72a1cde08.png)
取出微信的二进制可执行文件(Macho文件) ,打开MachoView进行分析
![](https://img.haomeiwen.com/i1975331/7300fb31bbdb0ade.png)
首先能看到的就是这个App包含2个架构(Arm64 和 Armv7)
接着展开,Arm64架构,看一下里面的东西
![](https://img.haomeiwen.com/i1975331/ec839fab700edeb6.png)
其实通过英语,都能简单知道大概这是啥,里面的objc_methodname,objc_classname,里面记录了App的各种类名和方法名。
个人猜测苹果查看是不是马甲包,除了二进制的相似度之外,还会根据这里的类名和方法名进行校准。
其他后面用到再解释咯