IOS

恢复符号表

恢复ios符号表

Posted by nomadli on December 4, 2015

符号表

Mach-o文件__LINKEDIT段存储了符号表Symbol Table,表结构macho-o/nlist.h struct nlist,第一项为符号在字符串表中的偏移量,最后一项为对应的函数地址

block内存结构

struct __block_impl{Class isa; int flags; int reserved; void(*invoke)(…);…} isa=_NSConcreteStackBlock 栈上的block; isa=_NSConcreteMallocBlock 堆上的block; isa=_NSConcreteGlobalBlock 全局静态block;

恢复符号

  1. https://github.com/tobefuturer/restore-symbol
  2. 利用Clutch砸壳
  3. 利用class-dump源码查找行数名称及地址
  4. 利用IDA提供的SDK查找block地址及名称
  5. 构建符号表