2011-07-22 57 views
0

在windows系统上,我试图截取所有读取操作的具体过程。关于win32读取文件的操作

为此,我在kernel32.dll中挂钩了函数'readfile'。

在大多数执行读取操作的程序中,它似乎很好地工作。

但是,当我试图钩进程的itunes.exe'玩一些MP3文件,

不能拦截任何读取操作。

我用'Process Monitor'检查过它。它显示的ReadFile操作定期...

是否有任何其他方式来访问文件,而无需在kernel32.dll中使用ReadFile函数

为什么注入的DLL不能拦截iTunes的读操作?...

在此先感谢。

回答

0

是的,有几种方法可以读取文件:

Kernel32中Kernel32中

  • CreateFileMapping/MapViewOfFile Kernel32中

  • ReadFileEx

    • ReadFile,它可以让你读取文件通过将其映射到内存并读取内存来代替;它很可能是这个机制正在被使用。

    • NtReadFile在NTDLL(由ReadFileReadFileEx叫,一般不直接使用)

  • +0

    非常感谢您! – lunaticapple