2011-07-22 80 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