【发布时间】:2017-08-09 07:28:24
【问题描述】:
我想跟踪一个可执行文件,加载了很多 dll。我知道这个exe文件,打开一个.txt文件来读取一些元素。我想知道哪个功能可以做到这一点。由于有很多 dll,我无法跟踪每个 dll 的功能来找到它。所以我想找到一种方法来在堆栈中看到的一些“.txt”点上设置一个断点,以找到打开或使用“.txt”文件的函数。 有没有办法做到这一点? 在其他世界中,如果将某个已知值传递给未知函数,有没有办法设置断点?
【问题讨论】:
-
我会看看 Rohitab API Monitor rohitab.com/apimonitor。将打开文件的所有函数添加到跟踪函数列表中,例如 OpenFile、ReadFile、ReadFileEx、...
-
我不知道,但也许更简单的方法是删除 .txt 文件的所有权限并在尝试读取它时打破异常。
-
如果您撤销权限,它可能会在读取前创建失败。 procmon add filter path = filepath 应该会产生更好的结果 如果应用程序直接调用 sysenter,apimonitor 可能会失败
-
+1 @ blabb。使用 ProcMon 找到您感兴趣的特定调用的确切堆栈跟踪。然后调试/反转/不管它。
标签: reverse-engineering windbg