10.通过符号表找到符号
一、需要用到的结构
1.1 懒加载符号表
懒加载符号表是再用到的时候才会进行符号绑定的表。 我们分析MachO可以发现NSLog就在这里面
1.2 总符号表
完整的符号表在这里
1.3 间接符号表
在懒加载符号表中,我们发现,都有个Indirect Pointer
。 这就说名这里是间接符号。 先在我们来到间接符号表:
我们可以发现这里面和懒加载符号表中标有Indirect Pointer
的有对应关系。
二、找到NSLog的符号
在IndirectSymbols
中我们找到NSLog。
2.1 Data=000000B8
这里的值代表了当前间接符号在总表中的下标。我们换算一下十进制:184
2.2 Symbols
找到下标184的,Data为000000CE
,description:String table index
。也就是String Table
的下标。
2.3 StringTables
来到StringTable
,第一个地址为00011230
,我们加上下标000000CE
,得到0x112FE
这里我们就找到了_NSLog
三、fishhook是和我们这种反向的一个过程
Last updated