我最近再次开始学习反转,我在使用OllyDBG时遇到了一个问题。当调试一个带有按钮的EXE时,每个按钮做不同的事情,我似乎找不到一种方法来遵循特定按钮的代码。
例如:我有一个有3个按钮的KeygenMe:“登录”,“关于”,“退出”。我想让OllyDbg跟踪我按下“登录”按钮时发生的事情。
我该怎么做?我知道这是可能的,因为我以前做过。
发布于 2014-06-13 08:12:54
当程序从一个函数返回时,你可以跟随一个按钮,要求olly停止。执行以下操作:
开始调试KeygenMe.
Olly将在按钮函数返回时停止。
你可以使用两个技术(据我所知)做到这一点:
(在回程着陆后使用)
使用回溯:
使用-(数字键盘上的减号键)
Ctrol+F11或者使用断点
(我两个都用,但有时第一个不起作用)
发布于 2015-07-22 01:31:33
我认为上面描述的方法是通用的,它应该适用于大多数情况。但是,如果你已经知道应用程序是在哪个编译器中构建的,你可以使用特定的方法,最终你可以更快、更精确地找到你想要的东西。
假设最坏的情况是你的exe不是用.NET构建的,你不能很容易地反编译它。这里有一些技巧。例如,Delphi/C++ builder应用程序在二进制文件中创建一个带有公共对象事件和地址的表,解码它非常容易,实际上有一些Olly脚本可以做到这一点。另一方面,如果它是用Visual C编写的,使用MFC或类似的东西,如果你知道MFC是如何调用的,你可以很容易地访问到它。
https://stackoverflow.com/questions/21957547
复制相似问题