采用个hook技术对writefile函数进行拦截(2)
生活随笔
收集整理的這篇文章主要介紹了
采用个hook技术对writefile函数进行拦截(2)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://www.cnblogs.com/zhxfl/archive/2011/11/03/2233846.html 這個是筆者之前寫過的WriteFile HOOK代碼
必須補充對這幾個函數的HOOK,才能對WriteFile的所有操作做“比較徹底的攔截”,筆者知道應用層的攔截很容易出現遺漏的,只有編寫驅動做文件過濾才會有比較好的效果,不過在實現那個之前,想再應用層做好這些實驗,看一下效果。
具體的api函數參數可以在http://msdn.microsoft.com/en-us/library/aa365749%28VS.85%29.aspx里面翻出來
?BOOL WriteFileEx(
? HANDLE hFile,
? LPCVOID lpBuffer,
? DWORD nNumberOfBytesToWrite,
? LPOVERLAPPED lpOverlapped,
? LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);
__in????????HANDLE hFile,
__in????????FILE_SEGMENT_ELEMENT aSegmentArray[],
__in????????DWORD nNumberOfBytesToWrite,
__reserved??LPDWORD lpReserved,
__inout?????LPOVERLAPPED lpOverlapped
); View Code
進行了比較全面的攔截,不過會造成系統不穩定,特別是LoadLibararyExA和LoadLibararyExW函數的攔截。另外令人糾結的是fopen打開的文件寫操作沒有攔截成功,自然freopen這些重定向的也不能成功啦,所有應用層DLL注入的方法實現文件write的過濾是
非常不合理的想法,很難做全面的攔截,而且影響系統的正常運行。
全面的文件過濾在這個實驗里面,不得不承認api hook技術無法承擔這個重任,看來只有驅動層能夠實現真正意義上的完整文件過濾
轉載于:https://www.cnblogs.com/xumaojun/p/8541608.html
總結
以上是生活随笔為你收集整理的采用个hook技术对writefile函数进行拦截(2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript(十三)面向对象
- 下一篇: Xamarin.Forms中使用Lite