在Windows系统上,我试图拦截特定进程的所有读取操作。
为此,我在kernel32.dll中挂了函数'readfile'。
对于执行读取操作的大多数程序来说,这似乎很有效。
但是当我尝试挂钩'itunes.exe'播放一些mp3文件的过程时,
它无法拦截任何读取操作。
我用'过程监视器'检查了它。它会定期显示readfile操作......
是否有其他方法可以在不使用readfile函数的情况下访问文件
在kernel32.dll中?
为什么注入的dll不能拦截itunes的读操作?...
提前致谢。
答案 0 :(得分:0)
是的,有几种方法可以读取文件:
Kernel32中的ReadFile
Kernel32中的ReadFileEx
CreateFileMapping
/ MapViewOfFile
,它允许您通过将文件映射到内存并读取内存来读取文件; 很可能正在使用此机制。
NtReadFile
(由ReadFile
和ReadFileEx
调用,通常不直接使用)