Debugging 监视值而不是地址?

Debugging 监视值而不是地址?,debugging,reverse-engineering,disassembly,ida,Debugging,Reverse Engineering,Disassembly,Ida,我对逆向工程一无所知,一直很难准确地找到应用程序中出现消息框的原因,因为我没有相关的源代码 我尝试使用非常慢的搜索文本,看看它是否会找到“尝试下载时出错(…)”。但是看起来消息文本是从电线接收的,因此,它不是二进制文件中的const字符串 我也完全不知道该功能在哪里,因为我无法在消息弹出时“立即中断”,所以我想知道是否有办法创建一个观察值之类的东西 这样做的目的是让IDA做好准备,如果任何地址分配了int32值65000(十进制)。如果您想“注意“尝试下载时出错(…)”的值”-那么您可能会发现它

我对逆向工程一无所知,一直很难准确地找到应用程序中出现消息框的原因,因为我没有相关的源代码

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

我也完全不知道该功能在哪里,因为我无法在消息弹出时“立即中断”,所以我想知道是否有办法创建一个观察值之类的东西

这样做的目的是让IDA做好准备,如果任何地址分配了
int32
值65000(十进制)。

如果您想“注意“尝试下载时出错(…)”的值”-那么您可能会发现它非常复杂,资源非常繁重,尽管这是可能的。您必须“跟踪”处理器执行的每一个操作码,并检查该值(或指向该值的指针)所需的位置(例如堆栈),这可以通过以下方式完成。该工具允许您通过操纵周围的操作码,在每个操作码、函数调用或“块”(如IDA中所示)之间高效地执行所需的任何汇编代码,这样它们就不会受到影响。这是一件非常有趣的事情

但是,您可能需要在MessageBoxW或MessageBoxA上中断。只需在那里导航(按G键并写入
MessageBoxW
并放置断点)。当应用程序调用
MessageBoxW
时,这将中断,然后您可以检查堆栈以查看调用它的位置