首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OllyDBG,跟随调用函数

OllyDBG,跟随调用函数
EN

Stack Overflow用户
提问于 2014-02-23 01:12:47
回答 2查看 8K关注 0票数 1

我最近再次开始学习反转,我在使用OllyDBG时遇到了一个问题。当调试一个带有按钮的EXE时,每个按钮做不同的事情,我似乎找不到一种方法来遵循特定按钮的代码。

例如:我有一个有3个按钮的KeygenMe:“登录”,“关于”,“退出”。我想让OllyDbg跟踪我按下“登录”按钮时发生的事情。

我该怎么做?我知道这是可能的,因为我以前做过。

EN

回答 2

Stack Overflow用户

发布于 2014-06-13 08:12:54

当程序从一个函数返回时,你可以跟随一个按钮,要求olly停止。执行以下操作:

开始调试KeygenMe.

  • Focus on ollydbg窗口,然后在KeygenMe上按
  1. ,然后单击按钮。

Olly将在按钮函数返回时停止。

你可以使用两个技术(据我所知)做到这一点:

(在回程着陆后使用)

使用回溯:

使用-(数字键盘上的减号键)

  1. 正常运行您的程序,然后在Ctrol+F11
  2. Then上单击跟踪返回

或者使用断点

  1. 放置断点,直到你找到它,这个函数叫做
  2. ,用鼠标右键点击代码,找到你在第一步找到的结构的引用。
  3. 保持第一步和第二步,直到你找到你的函数

(我两个都用,但有时第一个不起作用)

票数 2
EN

Stack Overflow用户

发布于 2015-07-22 01:31:33

我认为上面描述的方法是通用的,它应该适用于大多数情况。但是,如果你已经知道应用程序是在哪个编译器中构建的,你可以使用特定的方法,最终你可以更快、更精确地找到你想要的东西。

假设最坏的情况是你的exe不是用.NET构建的,你不能很容易地反编译它。这里有一些技巧。例如,Delphi/C++ builder应用程序在二进制文件中创建一个带有公共对象事件和地址的表,解码它非常容易,实际上有一些Olly脚本可以做到这一点。另一方面,如果它是用Visual C编写的,使用MFC或类似的东西,如果你知道MFC是如何调用的,你可以很容易地访问到它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21957547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档