【发布时间】:2018-08-07 15:48:09
【问题描述】:
使用 WinDBG 调试 Windows 10,我已通过 COM 隧道连接到操作系统。 我在一个正在运行的进程中,想在它试图打开一个名为“MyFile”的特定文件时中断。 我所做的是在 ntdll!NtCreateFile 上添加一个断点,当它中断时,我使用以下命令检查文件名:
dt _OBJECT_PROPERTIES @r8
这给了我:
+ 0x10 ObjectName : 0xADDRESS_OF_STRING C:/Folder/NotMyFile
问题是这个函数被调用了很多次,所以我的调试太慢了。有没有办法使用 WinDBG 的条件断点自动执行此操作?
【问题讨论】:
-
试试
bp XXXXXX "j ($scmp($r8+0x10,'C:/Folder/NotMyFile')==0) ' '; 'gc' "把XXXXX换成NtCreateFile的地址 -
@EdChum:NtCreateFile 是地址的同义词
-
@EdChum 有没有办法检查“MyFile”是否在字符串中,而不仅仅是直接等于?
-
使用
$spat进行模式匹配:bp XXXXXX "j ($spat($r8+0x10,'C:/Folder/NotMyFile')==0) ' '; 'gc' "见docs
标签: windbg