-
-
[求助]IDA中, 已知堆栈中的某个局部变量的地址,如何知道该变量属于哪个函数?
-
发表于:
2008-4-27 11:04
5986
-
[求助]IDA中, 已知堆栈中的某个局部变量的地址,如何知道该变量属于哪个函数?
我的插件在strncpy()的第一条指令处设置断点,然后启动调试器,程序执行到断点挂起后,通过esp可以得到调用strncpy()时压入堆栈的参数。 得到strncpy()目标缓冲区的地址(比如为 lpDestStr, 并假设lpDestStr指向的是堆栈中的某一个缓冲区, 而不是数据段中的缓冲区)后, 如何知道lpDestStr指向的缓冲区属于哪个函数? (即该缓冲区位于哪个函数的堆栈空间中?)
注意:lpDestStr指向的缓冲区不一定位于调用strncpy()的函数中,(考虑这种情况 :fun2()中调用func1(), fun1()中调用strncpy(), 那strncpy()的目标缓冲区可能在func1()的堆栈空间中,也可能在func2()的堆栈空间中,暂时不考虑目标缓冲区位于数据段的情况)
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课