如何监控windows打开的文件? |
尚未結案
|
favinc
一般會員 ![]() ![]() 發表:22 回覆:19 積分:8 註冊:2003-03-11 發送簡訊給我 |
|
wameng
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
Zard
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
引言: 我想在文件打开之前获得文件的控制权,如 txt或doc文件,希望当他们被打开时能够获得它们的文件名和内容,在对内容进行审核之后,再把控制权移交回相应的程式,如不能通过审核,则拒绝打开该文件。 兵临城下,快活如故。幫wameng 大大補充一下. 掛 API Hook(關於API Hook 的資料本站很多不再詳述), 攔 CreateFile 和 OpenFile, 從攔截這兩個Function,你可以 知道現在哪個程式(在Hook DLL內 Call GetModuleFileName), 要開啟哪個檔案(從CreateFile 和 OpenFile的參數可以得知), 在Hook DLL內先行開啟該檔, 並檢查內容, 若通過則回傳File Handle(準許打開), 若不通過則回傳INVALID_HANDLE_VALUE(不 準許打開). |
wameng
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
Zard
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
引言: 事實上,Zard大大誤會了! ShellExecuteHOOK,並非要是HOOK API 本身Windows 有提供這個 Shell 的接口。 利用 IShellExecuteHOOK 的接口,註冊本身的DLL 檔到登錄檔的某一位置 { 忘記了...嘿嘿 該登錄檔位置為可能要查閱一下MSDN } 這樣每當我們執行檔案時,就可以經由我們以寫好的DLL中 做過濾判斷。若審核不對,則不予執行該檔案。wameng您好: 請教一下, 我剛才看了一下MSDN, 上面說可以攔到ShellExecute or ShellExecuteEx, 但如果我是直接從Notepad打開檔案, 而非雙擊*.txt也可以攔到嗎? 也就是說如果直接用Notepad開檔時, 它應該是用CreateFile來打開的, 這樣的話您提到的方法還可以攔到嗎?? 抱歉我沒實作過IShellExecuteHOOK想多了解一點, 謝謝 |
favinc
一般會員 ![]() ![]() 發表:22 回覆:19 積分:8 註冊:2003-03-11 發送簡訊給我 |
|
favinc
一般會員 ![]() ![]() 發表:22 回覆:19 積分:8 註冊:2003-03-11 發送簡訊給我 |
|
pcboy
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |