本文的部分理论支持,节选自这里:iOS符号表恢复。
前言
符号表历来是逆向工程中的“必争之地”,而iOS应用在上线前要裁去符号表,以避免被逆向分析。
这些可以通过配置xcode的编译选项来达到效果。具体操作请看这:Xcode中和symbols有关的几个设置。
Xcode显示调用堆栈中符号时,只会显示符号表中有的符号。为了我们调试过程的顺利,我们有必要把可执行文件中的符号表恢复回来。
先来看一眼无符号表和有符号表的可执行文件调试区别:
符号表有多好用,一目了然。
什么是符号表?
我们要恢复符号表,首先要知道符号表是什么,他是怎么存在于 Mach-O 文件中的?由于这块涉及到的知识较多,还原符号表的作者讲解的很好,所以希望大家认真研究一下这篇文章。对 就是开篇提到的链接。