观看价值而不是地址?

时间:2015-06-04 16:20:21

标签: debugging reverse-engineering disassembly ida

我是全新的逆向工程,并且很难找到确切地说明在应用程序中出现的消息框是什么,我没有源代码。

我尝试使用非常慢的搜索文字来查看是否会在尝试下载(...)时找到“错误”。但看起来消息文本是从电线接收的,因此,它不是二进制文件中的const字符串。

我也完全不知道该功能在哪里,因为当弹出消息时我无法“立即中断”,所以我想知道是否有办法创建一个监视值< / strong>有点什么?

这个想法是让IDA准备好在任何地址分配了int32值65000(十进制)的情况下中断。

1 个答案:

答案 0 :(得分:1)

如果您想&#34;注意价值&#39;在尝试下载时出错(...)&#39;&#34; - 那么你可能会发现它非常复杂,资源很重,尽管可能。你必须&#34;追踪&#34;进入处理器执行的每个操作码,并检查该值的所在位置(例如堆栈)(或指向它的指针),这可以通过PIN Tools来完成。此工具允许您在每个操作码,函数调用或&#34;块&#34;之间有效地执行您希望的任何汇编代码。 (如IDA所示),通过操纵周围的操作码使他们不会受到影响。尝试这是一件非常有趣的事情。

但是,您可能想要做的是在MessageBoxW或MessageBoxA上打破。只需在那里导航(按G并写MessageBoxW并放置一个断点)。当应用程序调用{​​{1}}时,这会中断,然后您可以检查堆栈以查看它的调用位置。