線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2906
推到 Plurk!
推到 Facebook!

如何监控windows打开的文件?

尚未結案
favinc
一般會員


發表:22
回覆:19
積分:8
註冊:2003-03-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-25 02:17:05 IP:211.147.xxx.xxx 未訂閱
我想在文件打开之前获得文件的控制权,如 txt或doc文件,希望当他们被打开时能够获得它们的文件名和内容,在对内容进行审核之后,再把控制权移交回相应的程式,如不能通过审核,则拒绝打开该文件。 兵临城下,快活如故。
------
兵临城下,快活如故。
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-25 09:58:37 IP:61.31.xxx.xxx 未訂閱
ShellExecuteHOOK
Zard
尊榮會員


發表:24
回覆:396
積分:539
註冊:2003-11-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-25 13:05:50 IP:61.64.xxx.xxx 未訂閱
引言: 我想在文件打开之前获得文件的控制权,如 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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-28 04:01:41 IP:61.222.xxx.xxx 未訂閱
事實上,Zard大大誤會了! ShellExecuteHOOK,並非要是HOOK API 本身Windows 有提供這個 Shell 的接口。 利用 IShellExecuteHOOK 的接口,註冊本身的DLL 檔到登錄檔的某一位置 { 忘記了...嘿嘿 該登錄檔位置為可能要查閱一下MSDN } 這樣每當我們執行檔案時,就可以經由我們以寫好的DLL中 做過濾判斷。若審核不對,則不予執行該檔案。
Zard
尊榮會員


發表:24
回覆:396
積分:539
註冊:2003-11-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-28 09:19:07 IP:211.23.xxx.xxx 未訂閱
引言: 事實上,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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-10-29 22:16:49 IP:211.147.xxx.xxx 未訂閱
请Zard举例说明如何通过API Hook 拦截CreateFile 和 OpenFile等这些函数。 谢谢! 兵临城下,快活如故。
------
兵临城下,快活如故。
favinc
一般會員


發表:22
回覆:19
積分:8
註冊:2003-03-11

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-10-30 19:01:21 IP:211.147.xxx.xxx 未訂閱
这个问题真令人郁闷! 好郁闷! 兵临城下,快活如故。
------
兵临城下,快活如故。
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-11-28 15:02:08 IP:61.220.xxx.xxx 訂閱
Delphi 7 的 Help/Windows SDK 中沒有 ShellExecuteHOOK 的說明
ShellExecuteHOOK site:microsoft.com 也只有 4 筆
ShellExecuteHOOK 是 Win32 API 嗎 ? 哪一版 OS 開始支援 ?
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
系統時間:2024-04-23 16:25:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!