行放行,使其發(fā)送到第一應用程序?qū)尿?qū)動程序;第一應用程序的驅(qū)動程序接收到該控制碼,根據(jù)該控制碼的具體內(nèi)容,對第二應用程序執(zhí)行相應的操作。
[0061 ]或者,當判斷第二應用程序不是目標應用程序時,目標應用程序?qū)υ摽刂拼a進行放行,使其發(fā)送到第一應用程序?qū)尿?qū)動程序;第一應用程序的驅(qū)動程序接收到該控制碼,根據(jù)該控制碼的具體內(nèi)容,對第二應用程序執(zhí)行相應的操作。
[0062]圖2為本發(fā)明實施例提供的一種目標應用程序的保護裝置,應用于終端設備,可以包括:
[0063]獲取模塊210,用于當檢測到第一應用程序調(diào)用目標函數(shù)時,獲取所述第一應用程序向其驅(qū)動程序發(fā)送的控制碼和該控制碼將要進行控制的第二應用程序的信息;
[0064]判斷模塊220,用于判斷所述控制碼是否為結束應用程序的進程的控制碼,若是,判斷所述控制碼將要進行控制的第二應用程序是否為目標應用程序;
[0065]攔截模塊230,用于當所述判斷模塊判斷結果為是時,攔截所述控制碼。
[0066]進一步地,所述獲取模塊210,具體用于通過掛鉤所述目標函數(shù),檢測所述第一應用程序?qū)λ瞿繕撕瘮?shù)的調(diào)用。
[0067]進一步地,所述獲取模塊210,具體用于根據(jù)操作系統(tǒng)提供的調(diào)試工具,在所述目標函數(shù)下進行斷點調(diào)試,獲取所述第一應用程序向其驅(qū)動程序發(fā)送的控制碼。
[0068]進一步地,所述調(diào)試工具為:windbg調(diào)試工具。
[0069]進一步地,所述目標函數(shù)為:NtDeviceloControlFile函數(shù)。
[0070]進一步地,所述第二應用程序的信息包括以下至少一項:第二應用程序的進程對應的標識信息和路徑信息。
[0071]進一步地,所述裝置還包括:
[0072]放行模塊240,用于當判斷模塊判斷所述控制碼非結束應用程序的進程的控制碼,或,判斷所述控制碼將要進行控制的第二應用程序非目標應用程序時,對該控制碼進行放行,使其發(fā)送到第一應用程序?qū)尿?qū)動程序。
[0073]本實施例提供的目標應用程序的保護裝置,當檢測到第一應用程序調(diào)用目標函數(shù)時,可以獲取該第一應用程序向其驅(qū)動程序發(fā)送的控制碼和該控制碼將要進行控制的第二應用程序的信息,然后判斷該控制碼是否為結束應用程序的進程的控制碼,若是,判斷該控制碼將要進行控制的第二應用程序是否為目標應用程序,若是,攔截所述控制碼,從而導致第一應用程序結束目標應用程序的進程失敗。本發(fā)明實施例中在第一應用程序調(diào)用目標函數(shù)向其驅(qū)動程序發(fā)送控制碼之前,獲取向其驅(qū)動程序發(fā)送的控制碼,并在確定該控制碼是結束目標應用程序的控制碼時,對該控制碼進行攔截,實現(xiàn)了對目標應用程序的保護,并且由于該過程相對于現(xiàn)有技術中在底層對函數(shù)進行掛鉤的方式,容易實現(xiàn),且不影響系統(tǒng)的穩(wěn)定性。
[0074]對于系統(tǒng)/裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0075]需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0076]本說明書中的各個實施例均采用相關的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0077]以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍CD
【主權項】
1.一種目標應用程序的保護方法,其特征在于,應用于終端設備,所述方法包括: 當檢測到第一應用程序調(diào)用目標函數(shù)時,獲取所述第一應用程序向其驅(qū)動程序發(fā)送的控制碼和該控制碼將要進行控制的第二應用程序的信息; 判斷所述控制碼是否為結束應用程序的進程的控制碼,若是,判斷所述控制碼將要進行控制的第二應用程序是否為目標應用程序; 若是,攔截所述控制碼。2.根據(jù)權利要求1所述的方法,其特征在于,通過掛鉤所述目標函數(shù),檢測所述第一應用程序?qū)λ瞿繕撕瘮?shù)的調(diào)用。3.根據(jù)權利要求1所述的方法,其特征在于,所述獲取所述第一應用程序向其驅(qū)動程序發(fā)送的控制碼包括: 根據(jù)操作系統(tǒng)提供的調(diào)試工具,在所述目標函數(shù)下進行斷點調(diào)試,獲取所述第一應用程序向其驅(qū)動程序發(fā)送的控制碼。4.根據(jù)權利要求3所述的方法,其特征在于,所述調(diào)試工具為:windbg調(diào)試工具。5.根據(jù)權利要求1- 3任一所述的方法,其特征在于,所述目標函數(shù)為:NtDevice1ControlFi Ie函數(shù)。6.根據(jù)權利要求5所述的方法,其特征在于,所述第二應用程序的信息包括以下至少一項:第二應用程序的進程對應的標識信息和路徑信息。7.根據(jù)權利要求1所述的方法,其特征在于,所述方法還包括: 當判斷所述控制碼非結束應用程序的進程的控制碼,或,判斷所述控制碼將要進行控制的第二應用程序非目標應用程序時,對該控制碼進行放行,使其發(fā)送到第一應用程序?qū)尿?qū)動程序。8.—種目標應用程序的保護裝置,其特征在于,應用于終端設備,所述裝置包括: 獲取模塊,用于當檢測到第一應用程序調(diào)用目標函數(shù)時,獲取所述第一應用程序向其驅(qū)動程序發(fā)送的控制碼和該控制碼將要進行控制的第二應用程序的信息; 判斷模塊,用于判斷所述控制碼是否為結束應用程序的進程的控制碼,若是,判斷所述控制碼將要進行控制的第二應用程序是否為目標應用程序; 攔截模塊,用于當所述判斷模塊判斷結果為是時,攔截所述控制碼。9.根據(jù)權利要求8所述的裝置,其特征在于,所述獲取模塊,具體用于通過掛鉤所述目標函數(shù),檢測所述第一應用程序?qū)λ瞿繕撕瘮?shù)的調(diào)用。10.根據(jù)權利要求8所述的裝置,其特征在于,所述獲取模塊,具體用于根據(jù)操作系統(tǒng)提供的調(diào)試工具,在所述目標函數(shù)下進行斷點調(diào)試,獲取所述第一應用程序向其驅(qū)動程序發(fā)送的控制碼。
【專利摘要】本發(fā)明實施例提供了一種目標應用程序的保護方法及裝置,應用于終端設備,該方法當檢測到第一應用程序調(diào)用目標函數(shù)時,獲取所述第一應用程序向其驅(qū)動程序發(fā)送的控制碼和該控制碼將要進行控制的第二應用程序的信息;判斷所述控制碼是否為結束應用程序的進程的控制碼,若是,判斷所述控制碼將要進行控制的第二應用程序是否為目標應用程序;若是,攔截所述控制碼。本發(fā)明實施例實現(xiàn)了對目標應用程序的保護,并且由于該過程相對于現(xiàn)有技術中在底層對函數(shù)進行掛鉤的方式,容易實現(xiàn),且不影響系統(tǒng)的穩(wěn)定性。
【IPC分類】G06F21/56
【公開號】CN105590060
【申請?zhí)枴緾N201510965067
【發(fā)明人】李文靖
【申請人】北京金山安全軟件有限公司
【公開日】2016年5月18日
【申請日】2015年12月21日