Class-dump其实是读取mach-o里的相关信息,在这里我们要借助于MachOView来做可视化的分析,具体是怎么样的一个dump的流程:
1.首先遍历loadcommands找到LC_SEGEMENT_64(__DATA),Section为__objc_classlist类列表
2.通过上图的Offset直接定位到Setcion64(__DATA,__objc_classlist)类列表
3.以上图中的类列表中的第一个类作为例子:得知存放的数据为0x01002149E0,在MachOView查找得知是在Section64(__DATA,__objc_data)下,关键在Data数据里
4.通过上图的Data数据得知,类的信息基本上存放在0x0100205BB8地址下,发现会存放在Section64(__DATA,__objc_const)里
5.通过上图找到所有方法即Base Methods 0x1002057CB
图中关联Implementation部分即为代码实现(_TEXT,__text)部分,由此可得到符号和实现的关联关系 ,varuable64list和property64list分别代表类的变量和属性点列表
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。