REing一个二进制文件,在它运行时(顺便使用Windbg)我的(调用)堆栈被破坏了。所以我开始执行堆栈跟踪 [ https://msdn.microsoft.com/en-us/library/windows/hardware/ff552143(v=vs.85).aspx]。
然而,当我验证目标中的各种符号/函数时,各种指令被分页,所以我无法判断前一条指令是 ret 还是上面的调用,例如
kd> u fe682ae4-2 l1 // paged out (all zeroes) unknown
rdr!_RdrSectionInfo+0x2a:
fe682ae2 0000 add [eax],al
我知道如何通过 !vad 扩展重新加载符号 [ https://msdn.microsoft.com/en-us/library/windows/hardware/ff552153(v=vs.85).aspx]。但是,这需要我使用(实时)kd。
除了禁用页面文件之外,是否有更简单的方法来确保目标应用程序不会被调出?
我搜索过 Google、OSRonline、Woodmann 等,但没有找到任何有用的信息。