我有一个更改其当前目录的进程,我想知道它发生的时间和地点。我怎么能这样做?
我尝试使用Visual Studio在SetCurrentDirectoryA / SetCurrentDirectoryW中设置断点,但它不起作用。
答案 0 :(得分:2)
您是在调试自己的某个程序,还是没有源代码的程序? Visual Studio调试器在调试无源应用程序方面不是很友好;在这种情况下,我建议WinDbg或OllyDbg - 甚至跳过调试器并使用EasyHook编写一个检测记录器。
尝试在{,,kernel32.dll}_SetCurrentDirectoryA@4
处设置断点 - 特殊语法并需要修饰名称。我自己没试过,但发现它here。 Google关键字:“ visual studio breakpoint api ”:)
答案 1 :(得分:0)
您需要使用本机代码附加/调试该过程。如果您错误地使用托管代码进行调试,则不会遇到这些断点。
答案 2 :(得分:0)
您的程序可能正在使用msvcrt函数更改目录。 您应该尝试在这些函数上放置断点:
_chdir
_chdrive