【3.A.S.T】网络安全爱好者's Archiver

黑客学习

valen886 发表于 2008-7-22 09:48

[讨论]IDA中 已知堆栈中的某个局部变量的地址 如何知道该变量属于哪个函数?

[讨论]IDA中 已知堆栈中的某个局部变量的地址 如何知道该变量属于哪个函数?
信息来源:邪恶八进制信息安全团队([url=http://www.eviloctal.com/]www.eviloctal.com[/url])
文章作者:BeQuick

我的插件在strncpy()的第一条指令处设置断点,然后启动调试器,程序执行到断点挂起后,通过esp可以得到调用strncpy()时压入堆栈的参数。 得到strncpy()目标缓冲区的地址(比如为 lpDestStr, 并假设lpDestStr指向的是堆栈中的某一个缓冲区, 而不是数据段中的缓冲区)后, 如何知道lpDestStr指向的缓冲区属于哪个函数? (即该缓冲区位于哪个函数的堆栈空间中?)


注意:lpDestStr指向的缓冲区不一定位于调用strncpy()的函数中,(考虑这种情况 :fun2()中调用func1(), fun1()中调用strncpy(), 那strncpy()的目标缓冲区可能在func1()的堆栈空间中,也可能在func2()的堆栈空间中,暂时不考虑目标缓冲区位于数据段的情况)
帖子15 精华[url=http://forum.eviloctal.com/digest.php?authorid=161208]0[/url] 积分10 阅读权限40 性别男 来自湖北 武汉 在线时间5 小时 注册时间2008-3-28 最后登录2008-5-14 [url=http://forum.eviloctal.com/space.php?action=viewpro&uid=161208]查看详细资料[/url][url=http://forum.eviloctal.com/post.php?action=reply&fid=9&tid=32933&repquote=141890&extra=page%3D5&page=1]引用[/url] [url=http://forum.eviloctal.com/misc.php?action=report&fid=9&tid=32933&pid=141890&page=1]报告[/url] [url=http://forum.eviloctal.com/###]回复[/url] TOP [url=http://www.google.cn/search?q=DHC化妆品&client=pub-0204114945524753&forid=1&prog=aff&ie=UTF-8&oe=UTF-8&cof=GALT%3A#008000;GL%3A1;DIV%3A336699;VLC%3A663399;AH%3Acenter;BGC%3AFFFFFF;LBGC%3A336699;ALC%3A0000FF;LC%3A0000FF;T%3A000000;GFNT%3A0000FF;GIMP%3A0000FF;FORID%3A1&hl=zh-CN]让女孩一夜变的更有女人味[/url]

[url=http://forum.eviloctal.com/space-uid-160389.html]neilhsu[/url]
手语者
[img]http://forum.eviloctal.com/images/avatars/noavatar.gif[/img]
晶莹剔透§烈日灼然

阿敏 发表于 2008-7-22 09:48

已经有了缓冲区的地址
这个地址在相应函数活动记录的LocalVariable区内

Active Record Structure:
[LocalVariables]
[SavedEBP]
[ReturnAddress]
[Parameters]

那就往这个地址之后看(地址值大的方向),找这个函数的ReturnAddress
一般ReturnAddress前面都会有SavedEBP(除非用了FPO优化),分辨的方法就是这个SavedEBP值一般是一个接近并且大于它所在地址的地址值
那ReturnAddress所在的函数就是当前函数的调用者
在你所举的例子中,比如ReturnAddress在fun2()中,那也就说明当前的活动记录属于fun1()
所以缓冲区应该在fun1()中
帖子1 精华[url=http://forum.eviloctal.com/digest.php?authorid=160389]0[/url] 积分1 阅读权限40 性别男 在线时间2 小时 注册时间2008-3-10 最后登录2008-5-12 [url=http://forum.eviloctal.com/space.php?action=viewpro&uid=160389]查看详细资料[/url][url=http://forum.eviloctal.com/post.php?action=reply&fid=9&tid=32933&repquote=142563&extra=page%3D5&page=1]引用[/url] [url=http://forum.eviloctal.com/misc.php?action=report&fid=9&tid=32933&pid=142563&page=1]报告[/url] [url=http://forum.eviloctal.com/###]回复[/url] TOP [url=http://www.google.cn/search?q=DHC化妆品&client=pub-0204114945524753&forid=1&prog=aff&ie=UTF-8&oe=UTF-8&cof=GALT%3A#008000;GL%3A1;DIV%3A336699;VLC%3A663399;AH%3Acenter;BGC%3AFFFFFF;LBGC%3A336699;ALC%3A0000FF;LC%3A0000FF;T%3A000000;GFNT%3A0000FF;GIMP%3A0000FF;FORID%3A1&hl=zh-CN]让女孩一夜变的更有女人味[/url]

[url=http://forum.eviloctal.com/space-uid-161208.html]BeQuick[/url] [img]http://forum.eviloctal.com/images/avatars/noavatar.gif[/img]
晶莹剔透§烈日灼然

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.