欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

對目標進程進行保護的方法和裝置的制作方法

文檔序號:7666091閱讀:187來源:國知局
專利名稱:對目標進程進行保護的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種計算機程序保護方法和裝置,尤其涉及一種對目 標進程進行保護的方法和裝置。
背景技術(shù)
隨著信息技術(shù)的發(fā)展,越來越多的人們通過網(wǎng)絡(luò)進行通信。包括 電子郵件、即時消息在內(nèi)的網(wǎng)絡(luò)通信,使得位于不同地區(qū)的人們,都 可以快速及時的傳遞信息。然而,由于計算機病毒更易于在網(wǎng)絡(luò)中傳 播,在提供迅速便捷的通信服務(wù)的同時,網(wǎng)絡(luò)也給用戶帶來相應(yīng)的煩 惱,甚至給用戶帶來一定的經(jīng)濟損失。
例如,近來出現(xiàn)一種計算機病毒。在被該病毒侵害的計算機中, 該病毒程序可通過模擬輸入信息的方式,即通過模擬用戶使用鍵盤 或鼠標等外部設(shè)備輸入信息的操作方式,產(chǎn)生欺騙信息。當用戶使用 染有該病毒的計算機向網(wǎng)絡(luò)上的通信對方發(fā)送即時消息時,若該欺騙 信息被發(fā)送到該通信對方,則通信對方將會誤認為該信息是該用戶輸 入的信息。該計算機病毒,通過這種方式,利用通信雙方彼此之間的 信賴,甚至可以騙取該通信對方的銀行帳戶的信息,從而使用戶蒙受 經(jīng)濟的損失。

發(fā)明內(nèi)容
本發(fā)明的一個目的是提供一種對目標進程進行保護的方法,包括 步驟接收一個模擬輸入信息的請求;響應(yīng)于該請求,獲得有關(guān)與該 請求相對應(yīng)的目標進程的標識;根據(jù)該標識,確定是否響應(yīng)該請求而 執(zhí)行該輸入信息的操作。
該方法可以有效地防止用戶計算機中的病毒程序?qū)⒗媚M輸 入方式所產(chǎn)生的欺騙信息發(fā)送給通信的對方。
本發(fā)明的又一個目的是提供一種對目標進程進行保護的方法,包 括步驟接收一個欲在目標窗口中設(shè)置信息的請求;響應(yīng)于該請求, 獲得有關(guān)與該請求相對應(yīng)的目標進程的標識;根據(jù)該標識,確定是否 允許在所述目標窗口中設(shè)置信息。
該方法可以有效地防止用戶計算機中的病毒程序設(shè)置目標窗口 中的信息,進而阻止病毒程序所產(chǎn)生的欺騙信息發(fā)送給通信的對方。


以下將參照附圖,通過實施例詳細地描述本發(fā)明,其中
圖1是一個流程圖,其示出了按照本發(fā)明一個實施例的對目標進 程進行保護的方法;
圖2是一個流程圖,其示出了按照本發(fā)明另一個實施例的對目標 進程進行保護的方法。
在所有附圖中,相同的標號表示相似或相應(yīng)的特征或功能。
具體實施例方式
按照本發(fā)明的對目標進程進行保護的方法,當病毒程序通過模擬 外設(shè)輸入信息的方式或者通過設(shè)置目標窗口中信息的方式產(chǎn)生欺騙 信息時,只要能夠獲得目標進程的進程號,通過判斷該目標進程是否 被允許執(zhí)行,便可在該欺騙信息輸入到目標進程之前進行攔截,從而 防止通信對方在收到該欺騙信息后被誤導而受騙。
以下,將結(jié)合具體實施例,詳細地描述該對目標進程進行保護的 方法。
在Windows操作系統(tǒng)中,除了提供用于處理用戶利用鼠標或鍵 盤等外設(shè)輸入信息的功能模塊外,還提供了可模擬外設(shè)輸入信息并對 該輸入的信息進行處理的功能模塊。這種模擬輸入的方式,在例如 Windows系統(tǒng)提供的虛擬鍵盤等輔助輸入的場合被廣泛地應(yīng)用。通 常,應(yīng)用程序可通過調(diào)用操作系統(tǒng)的應(yīng)用層API(Application Program Interface)函數(shù),API函數(shù)進一步調(diào)用操作系統(tǒng)的驅(qū)動層函數(shù),實現(xiàn)模 擬輸入的操作。因此,若在應(yīng)用層API函數(shù)或驅(qū)動層函數(shù)被調(diào)用時,
對相應(yīng)的目標進程進行判斷從而對目標進程有選擇地執(zhí)行,則可以有 效地攔截病毒程序利用模擬輸入方式輸入的欺騙信息。
圖1是按照本發(fā)明一個實施例的應(yīng)用在Windows系統(tǒng)中的當驅(qū) 動層函數(shù)被調(diào)用時對目標進程進行保護的方法的流程圖。在圖1所示 實施例中,當合法程序或病毒程序欲采用模擬輸入方式輸入信息時, 將產(chǎn)生一個模擬輸入信息的請求。響應(yīng)于該請求,API函數(shù)user32.dll! Sendlnput被調(diào)用。在Windows操作系統(tǒng)中,該API函數(shù)不僅提供了 模擬鍵盤、鼠標等外設(shè)自動輸入信息的功能,并且還提供了可控制輸 入信息內(nèi)容的功能。該應(yīng)用層API函數(shù)user32.dll! Sendlnput將進一 步調(diào)用驅(qū)動層函數(shù)Win32k.sys中的NtUserSendlnput。
下面是該驅(qū)動層函數(shù)NtUserSendI叩ut的一個示例,其參數(shù)可以 與該應(yīng)用層API函數(shù)user32.dll! Sendlnput的參數(shù)一致。
W32KAPI
UINT
NtUserSendlnput(
IN麗T clnputs,
IN CONST INPUT *plnputs,
IN int cbSize );
如圖1所示,當監(jiān)視到函數(shù)NtUserSendlnput被調(diào)用時(步驟S20), 根據(jù)操作系統(tǒng)中可獲得焦點窗口的句柄的函數(shù)NtUserGetActiveWindow, 獲得當前焦點窗口的句柄(步驟S30)。然后,根據(jù)該句柄,通過調(diào)用 系統(tǒng)函數(shù)中獲得目標進程標識的函數(shù)NtUserGetWindowThreadProcessID , 可獲得目標進程的標識(步驟S40)。接著,根據(jù)該目標進程的標識, 判斷是否響應(yīng)該請求而執(zhí)行該模擬輸入信息的操作(步驟S50)。其中, 目標進程的標識可以是例如進程號。
判斷步驟S50可進一步包括根據(jù)進程號確定目標進程是否屬于 受保護的進程(步驟S52);根據(jù)目標進程是否屬于受保護的進程,再 確定是否響應(yīng)該請求而執(zhí)行該模擬輸入信息的操作。具體的,若目標 進程屬于受保護的進程,則可根據(jù)用戶的指示信息或者預定規(guī)則,有
選擇地響應(yīng)該請求而執(zhí)行該模擬輸入信息的操作(步驟S54)。若目標 進程不屬于受保護的進程,則可直接響應(yīng)該請求而執(zhí)行該模擬輸入信 息的操作(步驟S56)。
下面,以經(jīng)由應(yīng)用程序QQ (—款流行的網(wǎng)絡(luò)即時通信應(yīng)用軟件) 發(fā)送即時消息為例,進一步說明上述保護目標進程的方法。當用戶使 用一個感染了病毒的計算機時,該病毒程序可利用模擬輸入的方式而 生成一個欺騙信息。如上所述,該欺騙信息可模仿用戶在QQ對話窗 口中利用鍵盤輸入的信息。當病毒程序試圖進行欺騙信息的輸入時, 驅(qū)動層函數(shù)NtUserSendInput將被API函數(shù)user32.d11! Sendlnput調(diào)用。 當監(jiān)視到該驅(qū)動層函數(shù)被調(diào)用時,根據(jù)上述步驟S20和步驟S30可以 獲得該QQ對話窗口所對應(yīng)的進程的進程號,即目標進程的進程號。 這里,假定QQ對話窗口所對應(yīng)的進程屬于受保護的進程。當獲得該 目標進程的進程號后,可向用戶提示是否執(zhí)行該驅(qū)動層函數(shù)以采用 模擬輸入方式輸入信息。若此時用戶并未在QQ對話窗口輸入即時消 息,則用戶將很容易地判斷出應(yīng)當終止執(zhí)行該驅(qū)動層函數(shù)。此時,通 過選擇"終止執(zhí)行"的指示,用戶即可有效地阻止該欺騙信息被輸入 到QQ對話窗口中。由于病毒程序所產(chǎn)生的欺騙信息不能通過模擬輸 入的方式輸入到對話窗口中,因此,按照上述實施例所述的方法,即 使病毒程序可利用模擬輸入的方式觸發(fā)對話窗口中的"發(fā)送消息"的 按鈕,也不能將欺騙信息發(fā)送出去。
除了根據(jù)用戶指示終止執(zhí)行驅(qū)動層函數(shù)外,還可以預先規(guī)定在一 些情況下將自動終止執(zhí)行驅(qū)動層函數(shù)。這些情況包括但不限于根據(jù)
采用模擬輸入方式所輸入的信息內(nèi)容,例如當模擬輸入的信息中涉
及的網(wǎng)站地址屬于預先確定的惡意網(wǎng)站的網(wǎng)址時,將停止執(zhí)行該驅(qū)動
層函數(shù)。
圖1示出了當病毒程序通過模擬外設(shè)輸入信息的方式產(chǎn)生欺騙
信息時,如何攔截該欺騙信息的過程。圖2是本發(fā)明的另一個實施例,
其示出了當病毒程序通過設(shè)置目標窗口中信息的方式產(chǎn)生欺騙信息 時,如何攔截該欺騙信息的過程。
在Windows系統(tǒng)中,提供了可設(shè)置目標窗口中信息的功能。與 上述模擬外設(shè)輸入的功能相類似,該功能也可通過應(yīng)用層函數(shù)API 調(diào)用驅(qū)動層函數(shù)來實現(xiàn)。
在圖2所示實施例中,當合法程序或病毒程序欲在目標窗口中輸 入信息時,將產(chǎn)生一個欲在目標窗口中設(shè)置信息的請求。響應(yīng)于該請 求,API函數(shù)user32.dll! SendMessage被調(diào)用,且該API函數(shù)中將包 括參數(shù)WM一SETTEXT,以表示欲在目標窗口中設(shè)置信息。在目標窗 口中設(shè)置信息的操作可包括在目標窗口中輸入信息或修改目標窗口 中已輸入的信息等。該應(yīng)用層API函數(shù)user32.dll! SendMessage將進 一步調(diào)用驅(qū)動層函數(shù)Win32k,sys中的NtUserMessageCall。
以下是驅(qū)動層函數(shù)NtUserMessageCall的一個示例,其中,參數(shù) msg的數(shù)值取決于應(yīng)用層API函數(shù)user32.dll! SendMessage中的參數(shù) WM_SETTEXT。 W32KAPI LRESULT NtUserMessageCall( IN HWND hwnd, IN UINT msg, IN WPARAM wParam, IN LPARAM lParam, IN ULONG—PTR xParam, IN DWORD xpfnProc, INBOOLbAnsi);
如圖2所示,當監(jiān)視到驅(qū)動層函數(shù)NtUserMessageCall被調(diào)用時 (步驟S120),判斷參數(shù)msg的取值是否為WM_SETTEXT,以確定當 前請求是否為在目標窗口中設(shè)置信息的操作請求(步驟S130)。若該參 數(shù)msg的取值是WM—SETTEXT,則可根據(jù)該驅(qū)動層函數(shù)
NtUserMessageCall中的HWND參數(shù)來獲得目標進程的標識(步驟 S140)。在Windows操作系統(tǒng)中,該HWND參數(shù)表示目標窗口所對 應(yīng)的進程號。接著,根據(jù)該目標進程的標識,判斷是否響應(yīng)該請求而 執(zhí)行在目標窗口中的設(shè)置信息的操作(步驟S150)。
與實施例l相類似的,該判斷步驟S150進一步包括根據(jù)該進 程號,確定目標進程是否屬于受保護的進程(步驟S152);根據(jù)該目標 進程是否屬于受保護的進程,再確定是否響應(yīng)該請求而執(zhí)行在目標窗 口中設(shè)置信息的操作。具體的,若目標進程屬于受保護的進程,則可 根據(jù)用戶的指示信息或者預定規(guī)則,有選擇地響應(yīng)該請求而執(zhí)行在目 標窗口中設(shè)置信息的操作(步驟S154)。若目標進程不屬于受保護的進 程,則可以直接響應(yīng)該請求而執(zhí)行在目標窗口中設(shè)置信息的操作(步 驟S156)。
以上結(jié)合附圖描述了在Windows操作系統(tǒng)中的兩個具體實施例。 在這兩個實施例中,可分別對API函數(shù)所調(diào)用的兩個驅(qū)動層函數(shù)進行 監(jiān)視,通過當驅(qū)動層函數(shù)被調(diào)用時對目標進程進行識別,可有選擇地 執(zhí)行目標進程,從而阻止病毒程序所產(chǎn)生的欺騙信息發(fā)送出去。
在實際應(yīng)用中,不僅可以對驅(qū)動層函數(shù)被調(diào)用時的目標進程進行 監(jiān)視以攔截欺騙信息,也可以對在特定API函數(shù)被調(diào)用時相應(yīng)的目標 進程進行識別,以攔截特定病毒程序所產(chǎn)生的欺騙信息。
并且,本發(fā)明的上述對目標進程進行保護的方法,不僅適用于本 發(fā)明實施例中所列舉的兩個驅(qū)動層函數(shù),而且也可適用于能夠完成與 模擬輸入和在目標窗口中設(shè)置信息相同功能的其他驅(qū)動層函數(shù)。通過 攔截與這些其他驅(qū)動層函數(shù)相對應(yīng)的目標進程,也可以有效地阻止欺 騙信息被輸入到受保護的目標進程中。
另外,在上述兩個實施例中,僅對受保護的目標進程描述了如何 攔截欺騙信息。但是,隨著病毒程序的繁衍,若出現(xiàn)病毒程序侵害初 始定義的不受保護的目標進程時,也可適用本發(fā)明的上述根據(jù)識別的 目標進程攔截欲接收的輸入內(nèi)容的方法來確定該輸入消息是否具有 危險性。
本發(fā)明的上述對目標進程進行保護的方法,不僅適用于Windows 操作系統(tǒng),也可以適用于其他的操作系統(tǒng)。
本發(fā)明的上述對目標進程進行保護的方法,不僅可以由計算機軟 件實現(xiàn),也可以由計算機硬件實現(xiàn),亦可以由計算機軟件和硬件結(jié)合 來實現(xiàn)。當采用計算機硬件實現(xiàn)時,組成該對目標進程進行保護的裝 置的各個單元,可分別執(zhí)行附圖1和2所示方法流程圖中的各個步驟。
有益效果
按照本發(fā)明的上述對目標進程進行保護的方法和裝置,當病毒程 序欲通過模擬外設(shè)輸入信息的方式或者通過設(shè)置目標窗口中信息的 方式產(chǎn)生欺騙信息時,由于針對病毒程序所產(chǎn)生的模擬輸入信息的請 求或設(shè)置目標窗口中信息的請求,可以對與該請求相對應(yīng)的目標進程 進行識別,因此,可以有選擇地執(zhí)行目標進程,從而有效地阻止病毒 程序所產(chǎn)生的欺騙信息被發(fā)送。
本領(lǐng)域技術(shù)人員應(yīng)當理解,對上述本發(fā)明所公開的對目標進程進 行保護的方法和裝置,還可以在不脫離本發(fā)明內(nèi)容的基礎(chǔ)上做出各種 改進。因此,本發(fā)明的保護范圍應(yīng)當由所附的權(quán)利要求書的內(nèi)容確定。
權(quán)利要求
1、一種用于對目標進程進行保護的方法,包括步驟(a)接收一個模擬輸入信息的請求;(b)響應(yīng)于該請求,獲得有關(guān)與該請求相對應(yīng)的目標進程的標識;(c)根據(jù)該標識,確定是否響應(yīng)該請求而執(zhí)行該輸入信息的操作。
2、 如權(quán)利要求l所述的方法,其中的步驟(C)包括-(Cl)根據(jù)所述標識,判斷所述目標進程是否屬于受保護的進程; (C2)若所述目標進程屬于所述受保護的進程,則可有選擇地響應(yīng)所述請求而執(zhí)行所述輸入信息的操作。
3、 如權(quán)利要求2所述的方法,其中的步驟(C2)包括若所述目標進程屬于所述受保護的進程,則可根據(jù)一個來自用戶 的指示信息來確定是否響應(yīng)所述請求而執(zhí)行所述輸入信息的操作。
4、 如權(quán)利要求2所述的方法,其中的步驟(c2)包括若所述目標進程屬于所述受保護的進程,則可根據(jù)一個預定規(guī)則 來確定是否響應(yīng)所述請求而執(zhí)行所述輸入信息的操作。
5、 如權(quán)利要求l所述的方法,其中,所述輸入信息的操作是通過對驅(qū)動層函數(shù)進行調(diào)用而實現(xiàn)的,該方法還包括步驟監(jiān)視所述驅(qū)動層函數(shù)是否被調(diào)用,以響應(yīng)于所述請求,獲得所述 目標進程的標識。
6、 如權(quán)利要求5所述的方法,其中,在Windows系統(tǒng)中,所述 驅(qū)動層函數(shù)是Win32k.sys中的NtUserSendlnput。
7、 如權(quán)利要求6所述的方法,其中所述步驟(b)包括 調(diào)用系統(tǒng)函數(shù)中可獲得焦點窗口的句柄的函數(shù),以獲得焦點窗口的句柄;根據(jù)該句柄,調(diào)用系統(tǒng)函數(shù)中可獲得目標進程標識的函數(shù),以獲 得所述目標進程的標識。
8、 一種用于對目標進程進行保護的方法,包括步驟(a) 接收一個欲在目標窗口中設(shè)置信息的請求;(b) 響應(yīng)于該請求,獲得有關(guān)與該請求相對應(yīng)的目標進程的標識;(c) 根據(jù)該標識,確定是否允許在所述目標窗口中設(shè)置信息。
9、 如權(quán)利要求8所述的方法,其中的步驟(c)包括 (cl)根據(jù)所述標識,判斷所述目標進程是否屬于受保護的進程; (c2)若所述目標進程屬于所述受保護的進程,則有選擇地允許執(zhí)行在所述目標窗口中設(shè)置信息的操作。
10、 如權(quán)利要求9所述的方法,其中的步驟(c2)包括 若所述目標進程屬于所述受保護的進程,則可根據(jù)一個來自用戶的指示信息來確定是否執(zhí)行在目標窗口中設(shè)置信息的操作。
11、 如權(quán)利要求9所述的方法,其中的步驟(c2)包括 若所述目標進程屬于所述受保護的進程,則可根據(jù)一個預定規(guī)則來確定是否執(zhí)行在目標窗口中設(shè)置信息的操作。
12、 如權(quán)利要求8所述的方法,其中,在所述目標窗口中設(shè)置信 息操作是通過對驅(qū)動層函數(shù)進行調(diào)用而實現(xiàn)的,當所述驅(qū)動層函數(shù)被 調(diào)用時,響應(yīng)于所述請求,獲得所述目標進程的標識。
13、 如權(quán)利要求12所述的方法,其中,在Windows系統(tǒng)中,所 述驅(qū)動層函數(shù)是Win32k.sys中的NtUserMessageCall,并通過該驅(qū)動 層函數(shù)中的參數(shù)hwnd,可獲得所述標識。
全文摘要
本發(fā)明提供了一種對目標進程進行保護的方法,包括步驟接收一個模擬輸入信息的請求;響應(yīng)于該請求,獲得有關(guān)與該請求相對應(yīng)的目標進程的標識;根據(jù)該標識,確定是否響應(yīng)該請求而執(zhí)行該輸入信息的操作。該方法可以有效地防止用戶計算機中的病毒程序?qū)⒗媚M輸入方式所產(chǎn)生的欺騙信息發(fā)送給通信的對方。
文檔編號H04L9/00GK101350711SQ200710180318
公開日2009年1月21日 申請日期2007年10月15日 優(yōu)先權(quán)日2007年10月15日
發(fā)明者超 葉 申請人:北京瑞星國際軟件有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
卢龙县| 固原市| 湄潭县| 闽侯县| 永德县| 新河县| 凉城县| 孝感市| 阜宁县| 东兴市| 澄江县| 香格里拉县| 留坝县| 通州区| 板桥市| 辉县市| 永平县| 奉贤区| 陵水| 屏边| 寿光市| 望谟县| 双桥区| 安陆市| 荣昌县| 深圳市| 新绛县| 沭阳县| 荆门市| 稷山县| 保靖县| 怀化市| 名山县| 岚皋县| 浮梁县| 常宁市| 前郭尔| 马边| 宜昌市| 额济纳旗| 思南县|