前几天看一个Crash的问题。功能是Word上的一个插件,点击上面的一个button,cation实现了,但点击结束后,过一会Word就crash了。下面是问题的分析.
调试问题
问题复现
程序crash时,获得如下log.
0x4aea74b2,指令无效。是访问内存溢出导致EIP被修改,还是对应模块从内存中unload出去了?
开始调试
上调试器,看看是否有模块被unload了。
从L6和L29的内容,说明准备执行unloaded模块GdiPlus中的函数,导致访问违例。
这时我们可以继续跟踪看看这个地址偏移量是什么code,也可以使用Application Verifier看看它能不能给我们更多的信息。
Application Verifier
下面是启动Application Verifier后的调试结果。