iOS逆向之fishHook怎么通过符号找字符串

在fishhook中原本就有怎么通过符号查找字符串的说明,如下图:

image.png

现在以上一篇iOS逆向之fishHook原理探究中的NSLog为例来说明一下:

1、通过懒加载表Lazy Symbol Pointers找到动态表Dynamic Symbol Table->Indirect Symbols

懒加载表Lazy Symbol Pointers与动态表Dynamic Symbol Table是一一对应的关系


image.png

image.png

2、动态表的Data值找到Symbol Table->Symbols

在Indirect Symbols中找到Data值 0x7A,换成10进制是122。Data值其实就是一个下标,是一个真正符号表的下标。


image.png

在Symbols表中找到偏移量Offset为122的值_NSLog
_是函数的开始 .是分隔符


image.png

3、根据Symbols的偏移值Data,在String Table找到字符串

  • Symbols的偏移为:0x9B


    image.png
  • String Table的起始值是:0x4EFC


    image.png
  • 字符串的位置:0x4EFC + 0x9B = 0x4F97
    _是函数的开始 .是分隔符
    根据0x4F97可以找到: _NSLog.


    image.png

你可能感兴趣的:(iOS逆向之fishHook怎么通过符号找字符串)