如何学习Debug Native Exception?
FAQ Content
[DESCRIPTION]
Native Exception,简称NE,是发生于C/C++ code里面最常见的一种异常,对于简单的NE,我们可以根据backtrace印出的调用逻辑来推断产生的原因。但是稍复杂一些的NE,比如memory corruption造成地址访问异常,比如某个变量在多层函数调用之间被异常篡改,比如函数指针未初始化造成的异常跳转等等,仅仅依靠log和backtrace就变得稍显力不从心了。
对于此类case,就需要深入了解architecture相关的知识以及各种相关的工具来进行汇编语言层次的分析。鉴于相关的知识分布比较发散,我们将debug NE需要的相关知识罗列在此供参考学习。
[SOLUTION]
第一,基础部分的学习:
以上两个部分对于各种C/C++ exception的处理都是通用的,对于想了解高端分析手法或者深入hack代码的人都是第一步必须精读的知识。
第二,针对Native Exception的部分:
|