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

Posted WinJayQ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS逆向之fishHook怎么通过符号找字符串相关的知识,希望对你有一定的参考价值。

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

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

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

懒加载表Lazy Symbol Pointers与动态表Dynamic Symbol Table是一一对应的关系
技术分享图片
技术分享图片

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

在Indirect Symbols中找到Data值 0x7A,换成10进制是122。Data值其实就是一个下标,是一个真正符号表的下标。
技术分享图片
在Symbols表中找到偏移量Offset为122的值_NSLog
_是函数的开始 .是分隔符
技术分享图片

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

  • Symbols的偏移为:0x9B
    技术分享图片
  • String Table的起始值是:0x4EFC
    技术分享图片

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













以上是关于iOS逆向之fishHook怎么通过符号找字符串的主要内容,如果未能解决你的问题,请参考以下文章

1.逆向分析之壳内找注册码

iOS 符号表恢复 & 逆向支付宝

inline hook之fishhook objc_msgSend

iOS逆向之对称算法(下)

Java之 IO流字符流字节流缓冲流对象流等各种流

intellj(idea) 编译项目时在warnings 页签框里 报 “xxx包不存在” 或 “找不到符号” 或 “未结束的字符串字面值” 或 “需要)” 或 “需要;”等错误提示