新四季網

在移動終端中監控api函數調用的方法和裝置製造方法

2023-05-01 04:57:51 1

在移動終端中監控api函數調用的方法和裝置製造方法【專利摘要】本發明提供了一種在移動終端中監控API函數調用的方法和裝置。其中的方法包括:預先設置所需監控的一個或多個API函數以及與預設API函數相對應的響應事件;根據預設的各個API函數設置一個監控處理模塊;實時獲取預設的目標信息發送函數監聽模塊輸出的當前監聽數據;當所獲取的當前監聽數據滿足響應事件時,監控處理模塊進行相應的後續的監控處理。應用本發明可以在一個監控流程中對所有所需監控的API函數調用同時進行監控,因而使得對所有所需監控的API函數調用的監控工作變得更為簡單、快捷。【專利說明】在移動終端中監控API函數調用的方法和裝置【
技術領域:
】[0001]本申請涉及涉及計算機【
技術領域:
】,尤其涉及一種在移動終端中監控API函數調用的方法和裝置。【
背景技術:
】[0002]在現有技術中,為移動終端(例如,手機、筆記本電腦等)開發的應用程式一般都是基於某個作業系統的應用程式,因此,如果某個應用程式需要實現某種具體的功能時,就必須要調用其所屬作業系統所提供的應用程式編程接口(API,ApplicationProgrammingInterface)函數。例如,當某個應用程式需要查看移動終端中存儲的通訊簿數據時,則該應用程式將需要調用其所屬作業系統提供的訪問通訊簿的API函數,才能實現查看通訊簿數據的功能。[0003]為了實現各種功能或業務,移動終端中一般都裝有多種應用程式。然而,在某些時候,移動終端中的某些應用程式有可能會在用戶不知情或未經用戶授權的情況下,私自進行一些涉及用戶數據安全的操作,例如,讀取移動終端中存儲的通訊簿、打開移動終端中存儲的圖片、調用移動終端中的通話記錄等,從而威脅到用戶數據或用戶隱私的安全性。[0004]因此,為了提高移動終端的安全性,防止應用程式進行竊取用戶隱私、破壞用戶系統等行為,需要對移動終端中正在運行的各種應用程式進行有效地動態監控。[0005]在實現動態監控應用程式是否具有某些行為時,很多安全廠商一般都是利用監聽應用程式的API函數調用(即對API函數的調用)來檢測正在運行的程序是否具有竊取用戶隱私、破壞用戶系統等行為。例如,可以對讀取通訊簿的API函數調用進行實時監聽;當有某個正在運行的應用程式調用了該API函數時,即可捕獲到該應用程式調用該API函數的行為,因此即可以獲知該應用程式具有讀取移動終端中存儲的通訊簿數據的操作,從而可對移動終端中正在運行的各種應用程式進行動態監控。[0006]圖1為現有技術中在移動終端中監控API函數調用的方法流程圖。如圖1所示,在現有技術中,當需要在移動終端中監控API函數調用時,可通過如下所述的步驟來實現:[0007]步驟101,確定所需監控的API函數。[0008]由於不同的操作行為所調用的API函數是不同的,因此,當需要對某種操作行為進行監控時,可先確定該操作行為所需調用的API函數,並將所需調用的API函數設置為所需監控的API函數。[0009]步驟102,設置與所需監控的API函數相對應的監聽處理模塊。[0010]在本步驟中,將為所需監控的API函數設置相對應的監聽處理模塊,用於對所需監控的API函數調用進行監聽,並進行後續的處理。[0011]步驟103,使用監聽處理模塊對所需監控的API函數進行監聽。[0012]步驟104,當所需監控的API函數被調用時,使用監聽處理模塊進行後續處理。[0013]在本步驟中,所述後續處理可以是:向用戶發送提醒信息或詢問信息、記錄調用了該API函數的應用程式的信息和/或中斷調用了該API函數的應用程式等。[0014]在現有技術中,通過上述的步驟101?104,即可對某一特定的API函數的調用情況進行監控。[0015]然而,根據上述的步驟101?104可知,在上述的監控方法中,僅能對某一個特定的API函數的調用單獨進行監控。如果有多個API函數的調用需要監控,則必須為每一個需要監控的API函數都執行與上述步驟101?104相同或相類似的監控流程。另外,使用上述的監控方法,僅能監聽到孤立的、具體的API函數調用,而無法獲知某一個應用程式在運行期間調用了哪些API函數以及各個API函數的調用順序,因此無法對該應用程式所調用的各個API函數之間的邏輯關係進行任何分析。[0016]由此可知,在現有技術中在移動終端中監控API函數調用的方法中,僅能對某一個特定的API函數調用單獨進行監控,而且對各個API函數調用的監控過程都是彼此獨立的,不能復用,因此無法在一個監控流程中對所有所需監控的API函數的調用同時進行監控。進一步的,在現有技術中對API函數調用的監控方法中,對於每一個所需監控的API函數調用,即使啟動多個監控流程分別對多個API函數的調用進行監控,也僅能監聽到各個孤立的、具體的API函數調用,而無法分析應用程式所調用的各個API函數之間的邏輯關係O【
發明內容】[0017]有鑑於此,本發明提供了一種在移動終端中監控API函數調用的方法和裝置,從而可在一個監控流程中對所有所需監控的API函數調用同時進行監控,因而使得對各個所需監控的API函數調用的監控工作變得更為簡單、快捷。[0018]本發明的技術方案具體是這樣實現的:[0019]一種在移動終端中監控API函數調用的方法,該方法包括:[0020]預先設置所需監控的一個或多個API函數以及與預設API函數相對應的響應事件;[0021]根據各個預設API函數設置一個監控處理模塊;[0022]實時獲取目標信息發送函數監聽模塊輸出的當前監聽數據;[0023]當所獲取的當前監聽數據滿足響應事件時,監控處理模塊進行相應的後續的監控處理。[0024]一種在移動終端中監控API函數調用的裝置,該裝置包括:設置模塊、信息獲取模塊和監控處理模塊;[0025]所述設置模塊,用於預先設置所需監控的一個或多個API函數以及與預設API函數相對應的響應事件,將預設API函數和響應事件發送給監控處理模塊;[0026]所述信息獲取模塊,用於實時獲取目標信息發送函數監聽模塊的當前監聽數據,將當前監聽數據發送給監控處理模塊;[0027]所述監控處理模塊,用於當所獲取的當前監聽數據滿足響應事件時,監控處理模塊進行相應的後續的監控處理。[0028]由上述技術方案可見,本發明可通過對ObjcjnsgSend函數的監聽,即可獲知應用程式是否調用了被監控的一個或多個API函數,從而實現在一個監控流程中對所有所需監控的API函數調用情況同時進行監控,而不必為每一個API函數調用的監控都執行一個獨立的監控流程,因而使得對各個所需監控的API函數調用的監控工作變得更為簡單、快捷。而且,進一步的,由於在上述的API函數調用的監控方法中,可以同時對多個API函數調用進行監控,還可記錄ObjcjnsgSend函數的監聽數據,因此使得技術人員可以根據所記錄的監聽數據進行相應的分析,從而獲知某個具體的應用程式所調用的各個API函數之間的邏輯關係,進而可對該應用程式的各種操作行為進行跟蹤和/或分析。【專利附圖】【附圖說明】[0029]圖1為現有技術中在移動終端中監控API函數調用的方法流程圖。[0030]圖2為本發明中在移動終端中監控API函數調用的方法流程圖。[0031]圖3是本發明中在移動終端中監控API函數調用的裝置的結構示意圖。【具體實施方式】[0032]為使本發明的技術方案及優點更加清楚明白,以下結合附圖及具體實施例,對本發明作進一步詳細的說明。[0033]一般來說,移動終端中的各種運行的應用程式都是使用相應的程式語言來編寫的。例如,在蘋果(Apple)公司生產的移動終端(例如,iPhone系列的手機)中,所運行的應用程式一般都是使用objective_c語言來編寫的。objective_c語言是一種面向對象的語言,該語言中沒有對象調用方法的概念,而是通過向各個對象方法發送相應信息的方法來實現各種功能。其中,所有的向各個對象方法發送相應信息的操作都是通過目標信息發送(objc_msgSend)函數來實現的。因此,只需對objc_msgSend函數進行相應的監聽,即可監聽到所有的對各個API函數的調用情況,從而可以實現對一個或多個API函數調用同時進行監控。[0034]圖2為本發明中在移動終端中監控API函數調用的方法流程圖。[0035]如圖2所示,該方法包括:[0036]步驟201,預先設置所需監控的一個或多個API函數以及與預設API函數相對應的響應事件。[0037]在本步驟中,可以先通過預先設置的方式確定所需監控的一個或多個API函數,然後再根據各個預設的API函數設置相應的響應事件。[0038]在本發明的具體實施例中,所述預設的API函數可以是(包含但不局限於):刪除聯繫人函數(ABAddressBookRemoveRecord)、訪問網絡函數(例如,NSMutableURLRequest類的setURL方法)、獲取應用程式安裝列表函數(MobiIeInstalIationBrowse)、發送簡訊的函數、讀取聯繫人信息的函數、啟動應用程式的函數、訪問文件的函數和撥打電話的函數中的任意一個或多個函數。[0039]另外,在本發明的具體實施例中,所述響應事件可以根據實際應用情況進行預先設置。所述響應事件可以是:至少一個正在系統中運行的應用程式調用至少一個預設的API函數。[0040]例如,當預先設置的API函數為訪問網絡函數和獲取應用程式安裝列表函數時,所述響應事件可以設置為:[0041]任意一個或多個正在系統中運行的應用程式調用訪問網絡函數(例如,NSMutableURLRequest類的setURL方法)來連接網絡;[0042]或者,任意一個或多個正在系統中運行的應用程式調用MobilelnstallationBrowse函數獲取移動終端中的應用程式安裝列表。[0043]步驟202,根據各個預設API函數設置一個監控處理模塊。[0044]在步驟201中,雖然可以設置多個所需監控的API函數,但在本步驟中,可以為預設的各個API函數隻預先設置一個監控處理模塊,用於進行後續的監控處理。其中,所述的監控處理可以是:記錄調用了所需監控的API函數的應用程式的信息、中斷調用了所需監控的API函數的應用程式和/或向用戶發送提醒信息或詢問信息並根據用戶的指令或預先設置的默認操作進行處理(譬如,允許或阻止相應的應用程式的運行),也還可以是其它預先設置的處理操作等。[0045]步驟203,實時獲取objc_msgSend函數監聽模塊輸出的當前監聽數據。[0046]在本步驟之前,可以預先設置一個objc_msgSend函數監聽模塊,用於實時監聽objc_msgSend函數的發送操作,並輸出相應的當前監聽數據,即當前的監聽數據。其中所述的當前監聽數據可以包括:與objc_msgSend函數的各個發送操作相對應的對象方法。根據該當前監聽數據可以獲知該ObjcjnsgSend函數向哪些對象方法發送了哪些信息。在本發明的具體實施例中,所述objc_msgSend函數監聽模塊可以使用本【
技術領域:
】中常用的objc_msgSend函數監聽模塊,因此,具體的objc_msgSend函數監聽模塊的設置方法在此不再贅述。[0047]在設置了上述的ObjcjnsgSend函數監聽模塊之後,在本步驟中,即可從該objc_msgSend函數監聽模塊實時獲取相應的當前監聽數據。[0048]步驟204,記錄所獲取的當前監聽數據。[0049]在本步驟中,當獲取到objc_msgSend函數監聽模塊的當前監聽數據時,可以記錄所獲取的當前監聽數據,供技術人員對所記錄的監聽數據進行分析,從而獲知某個具體的應用程式所調用的各個API函數之間的邏輯關係,進而可對該應用程式的各種操作行為進行跟蹤和/或分析。[0050]在本發明的具體實施例中,本步驟與後續的步驟205可以同時執行,也可以按照預設的執行順序執行,例如,可以先執行步驟204,然後再執行步驟205。[0051]另外,如果實際情況中不需要對具體的應用程式所調用的各個API函數之間的邏輯關係進行分析,則該步驟可以省略。[0052]步驟205,當所獲取的當前監聽數據滿足響應事件時,監控處理模塊進行相應的後續的監控處理。[0053]在本步驟中,將根據所獲取的當前監聽數據,判斷該當前監聽數據是否滿足預設的響應事件,例如,根據所獲取的當前監聽數據,判斷是否有至少一個正在系統中運行的應用程式當前對至少一個所需監控的API函數進行了調用,如果是,則表示當前監聽數據滿足響應事件,因此將由監控處理模塊進行相應的後續的監控處理。[0054]較佳的,在本步驟中,所述後續的監控處理可以包括:記錄調用了預設API函數的應用程式的信息、中斷調用了預設API函數的應用程式和/或向用戶發送提醒信息或詢問信息並根據用戶的指令或預設的默認操作進行處理(譬如,允許或阻止相應的應用程式的運行),也還可以是其它預先設置的處理操作等。[0055]根據上述的描述可知,通過上述的步驟202?205,即可通過對objc_msgSend函數的監聽,即可獲知應用程式是否調用了被監控的一個或多個API函數,從而實現在一個監控流程中對所有所需監控的API函數調用情況同時進行監控,而不必為每一個API函數調用的監控都執行一個獨立的監控流程,因而使得對各個所需監控的API函數調用的監控工作變得更為簡單、快捷。而且,進一步的,由於在上述的API函數調用的監控方法中,可以同時對多個API函數調用進行監控,還可記錄ObjcjnsgSend函數的監聽數據,因此使得技術人員可以根據所記錄的監聽數據進行相應的分析,從而獲知某個具體的應用程式所調用的各個API函數之間的邏輯關係,進而可對該應用程式的各種操作行為進行跟蹤和/或分析。[0056]根據本發明提供的上述方法,本發明還提供了相應的用戶界面確定裝置,具體請參見圖3。[0057]圖3是本發明中在移動終端中監控API函數的裝置的結構示意圖。[0058]如圖3所示,本發明中的在移動終端中監控API函數調用的裝置300包括:設置模塊301、信息獲取模塊302和監控處理模塊303。其中,[0059]所述設置模塊301,用於根據指令預先設置所需監控的一個或多個API函數以及與預設API函數相對應的響應事件,將預設API函數和響應事件發送給監控處理模塊303;[0060]所述信息獲取模塊302,用於實時獲取ObjcjnsgSend函數監聽模塊的當前監聽數據,將當前監聽數據發送給監控處理模塊303;[0061]所述監控處理模塊303,用於當所獲取的當前監聽數據滿足響應事件時,監控處理模塊進行相應的後續的監控處理。[0062]較佳的,在本發明的具體實施例中,所述在移動終端中監控API函數調用的裝置300還可進一步包括:存儲模塊304;[0063]所述存儲模塊304,用於記錄所獲取的當前監聽數據。[0064]綜上所述,在本發明的技術方案中,由於可通過對ObjcjnsgSend函數的監聽,SP可獲知應用程式是否調用了被監控的一個或多個API函數,從而實現在同一個監控流程中對一個或多個指定的API函數調用情況同時進行監控,而不必為每一個API函數調用的監控都執行一個獨立的監控流程,使得API函數調用的監控工作變得更為簡單、快捷。而且,進一步的,由於在上述的API函數調用的監控方法中,可以同時對多個API函數調用進行監控,還可記錄objc_msgSend函數的監聽數據,因此使得技術人員可以根據所記錄的監聽數據進行相應的分析,從而獲知某個具體的應用程式所調用的各個API函數之間的邏輯關係,進而可對該應用程式的各種操作行為進行跟蹤和/或分析。[0065]以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的範圍之內。【權利要求】1.一種在移動終端中監控API函數調用的方法,其特徵在於,該方法包括:預先設置所需監控的一個或多個API函數以及與預設API函數相對應的響應事件;根據各個預設API函數設置一個監控處理模塊;實時獲取目標信息發送函數監聽模塊輸出的當前監聽數據;當所獲取的當前監聽數據滿足響應事件時,監控處理模塊進行相應的後續的監控處理。2.根據權利要求1所述的方法,其特徵在於,在所述實時獲取目標信息發送函數監聽模塊的當前監聽數據之後,該方法還進一步包括:記錄所獲取的當前監聽數據。3.根據權利要求1所述的方法,其特徵在於,所述預設API函數為:刪除聯繫人函數、訪問網絡函數、獲取應用程式安裝列表函數、發送簡訊的函數、讀取聯繫人信息的函數、啟動應用程式的函數、訪問文件的函數和撥打電話的函數中的任意一個或多個函數。4.根據權利要求1、2或3所述的方法,其特徵在於,所述響應事件為:至少一個正在系統中運行的應用程式調用至少一個預設API函數。5.根據權利要求1所述的方法,其特徵在於,所述當前監聽數據包括:與目標信息發送函數的各個發送操作相對應的對象方法。6.根據權利要求1所述的方法,其特徵在於,所述後續的監控處理包括:記錄調用了預設API函數的應用程式的信息、中斷調用了預設API函數的應用程式和/或向用戶發送提醒信息或詢問信息並根據用戶的指令或預設的默認操作進行處理。7.一種在移動終端中監控API函數調用的裝置,其特徵在於,該裝置包括:設置模塊、信息獲取模塊和監控處理模塊;所述設置模塊,用於預先設置所需監控的一個或多個API函數以及與預設API函數相對應的響應事件,將預設API函數和響應事件發送給監控處理模塊;所述信息獲取模塊,用於實時獲取目標信息發送函數監聽模塊的當前監聽數據,將當前監聽數據發送給監控處理模塊;所述監控處理模塊,用於當所獲取的當前監聽數據滿足響應事件時,監控處理模塊進行相應的後續的監控處理。8.根據權利要求7所述的裝置,其特徵在於,該裝置還進一步包括:存儲模塊;所述存儲模塊,用於記錄所獲取的當前監聽數據。【文檔編號】G06F11/30GK103514075SQ201210200327【公開日】2014年1月15日申請日期:2012年6月18日優先權日:2012年6月18日【發明者】張立春,韓景維申請人:騰訊科技(深圳)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀