【问题标题】:Watch a value instead of an address?看值而不是地址?
【发布时间】:2015-08-19 09:03:32
【问题描述】:

总的来说,我是逆向工程的新手,我很难找到究竟是什么让消息框出现在我没有源代码的应用程序中。

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

我也完全不知道函数在哪里,因为当消息弹出时我不能“立即中断”,所以我想知道是否有办法创建一个值守 是什么?

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

【问题讨论】:

    标签: debugging reverse-engineering disassembly ida


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-02-26
      • 1970-01-01
      • 2014-05-17
      • 2020-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多