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

一種安卓系統(tǒng)應(yīng)用程序的保護(hù)方法和裝置與流程

文檔序號(hào):12467455閱讀:313來(lái)源:國(guó)知局
一種安卓系統(tǒng)應(yīng)用程序的保護(hù)方法和裝置與流程

本發(fā)明涉及安卓(Android)軟件保護(hù)技術(shù),尤其涉及一種安卓系統(tǒng)應(yīng)用程序的保護(hù)方法和裝置。



背景技術(shù):

在對(duì)安卓系統(tǒng)應(yīng)用程序進(jìn)行保護(hù),現(xiàn)有技術(shù)主要通過(guò)軟件加殼和代碼混淆來(lái)實(shí)現(xiàn)。雖然加殼和混淆是目前安卓軟件開發(fā)者常用的軟件保護(hù)手段,針對(duì)靜態(tài)分析確實(shí)有很好的效果;但是這兩種方法在反動(dòng)態(tài)調(diào)試方面效果不佳,無(wú)法很好的保證程序運(yùn)行時(shí)的安全。

在實(shí)現(xiàn)安卓系統(tǒng)應(yīng)用程序反動(dòng)態(tài)調(diào)試時(shí),當(dāng)前使用最多的反動(dòng)態(tài)調(diào)試的技術(shù)方案為:通過(guò)調(diào)用ptrace系統(tǒng)函數(shù)來(lái)使調(diào)試器失效,從而實(shí)現(xiàn)反動(dòng)態(tài)調(diào)試;然而,這種反動(dòng)態(tài)調(diào)試的技術(shù)還至少存在以下缺點(diǎn):

1)由于這種反動(dòng)態(tài)調(diào)試的技術(shù)的核心在于通過(guò)調(diào)用ptrace系統(tǒng)函數(shù)來(lái)使調(diào)試器失效,體現(xiàn)在代碼里只是一個(gè)函數(shù)調(diào)用,實(shí)現(xiàn)機(jī)制較為簡(jiǎn)單,破解者可以通過(guò)靜態(tài)反編譯的手段將這一函數(shù)調(diào)用注釋掉,如此,反調(diào)試機(jī)制就會(huì)失效。

2)無(wú)法兼容安卓4.4及以后的版本;具體地說(shuō),由于安卓4.4及以后的版本中開啟了全新的安全模式,無(wú)法再調(diào)ptrace系統(tǒng)函數(shù)來(lái)實(shí)現(xiàn)反調(diào)試。



技術(shù)實(shí)現(xiàn)要素:

為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例期望提供一種安卓系統(tǒng)應(yīng)用程序的保護(hù)方法和裝置,具有較高的兼容性和安全性。

本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:

本發(fā)明實(shí)施例提供了一種安卓系統(tǒng)應(yīng)用程序的保護(hù)方法,包括:

在安卓系統(tǒng)應(yīng)用程序運(yùn)行時(shí),通過(guò)監(jiān)測(cè)特定進(jìn)程的進(jìn)程狀態(tài)文件,確定所 述應(yīng)用程序是否處于被調(diào)試狀態(tài);所述特定進(jìn)程為所述應(yīng)用程序主進(jìn)程或預(yù)先創(chuàng)建的應(yīng)用程序主進(jìn)程的子進(jìn)程;

所述應(yīng)用程序處于被調(diào)試狀態(tài)時(shí),強(qiáng)制退出所述應(yīng)用程序。

上述方案中,所述監(jiān)測(cè)特定進(jìn)程狀態(tài)文件包括:監(jiān)測(cè)特定進(jìn)程的進(jìn)程狀態(tài)文件的TracerPid字段的值。

上述方案中,所述確定所述應(yīng)用程序是否處于被調(diào)試狀態(tài),包括:所述應(yīng)用程序主進(jìn)程的進(jìn)程狀態(tài)文件的TracerPid字段的值非0,或應(yīng)用程序主進(jìn)程的子進(jìn)程的進(jìn)程狀態(tài)文件的TracerPid字段的值非0時(shí),確定所述應(yīng)用程序處于被調(diào)試狀態(tài);否則,確定所述應(yīng)用程序未處于被調(diào)試狀態(tài)。

上述方案中,在確定所述應(yīng)用程序是否處于被調(diào)試狀態(tài)之前,所述方法還包括:獲取預(yù)設(shè)的反調(diào)試函數(shù);所述反調(diào)試函數(shù),用于在被執(zhí)行時(shí),實(shí)現(xiàn)第一功能和第二功能;所述第一功能為所述通過(guò)監(jiān)測(cè)特定進(jìn)程的進(jìn)程狀態(tài)文件,確定所述應(yīng)用是否處于被調(diào)試狀態(tài)的功能,所述第二功能為所述應(yīng)用程序處于被調(diào)試狀態(tài)時(shí),強(qiáng)制退出所述應(yīng)用程序的功能;

所述確定所述應(yīng)用程序是否處于被調(diào)試狀態(tài),包括:利用所述應(yīng)用程序主進(jìn)程的子進(jìn)程調(diào)用反調(diào)試函數(shù),實(shí)現(xiàn)所述第一功能;所述應(yīng)用程序處于被調(diào)試狀態(tài)時(shí),強(qiáng)制退出所述應(yīng)用程序,包括:在反調(diào)試函數(shù)實(shí)現(xiàn)所述第一功能后,實(shí)現(xiàn)所述第二功能。

上述方案中,所述獲取預(yù)設(shè)的反調(diào)試函數(shù),包括:將預(yù)設(shè)的反調(diào)試函數(shù)封裝在C語(yǔ)言編寫的SO文件中;通過(guò)執(zhí)行SO文件加載函數(shù)來(lái)調(diào)用SO文件中的反調(diào)試函數(shù)。

上述方案中,在獲取預(yù)設(shè)的反調(diào)試函數(shù)之后,所述方法還包括:在所述反調(diào)試函數(shù)中創(chuàng)建所述應(yīng)用程序主進(jìn)程的子進(jìn)程。

上述方案中,所述利用所述應(yīng)用程序主進(jìn)程的子進(jìn)程調(diào)用反調(diào)試函數(shù),包括:所述應(yīng)用程序主進(jìn)程的子進(jìn)程每隔n秒調(diào)用反調(diào)試函數(shù),n為正數(shù)。

上述方案中,所述強(qiáng)制退出所述應(yīng)用程序,包括:結(jié)束所述應(yīng)用程序的主進(jìn)程,使所述應(yīng)用程序退出。

本發(fā)明實(shí)施例還提供了一種安卓系統(tǒng)應(yīng)用程序的保護(hù)裝置,包括:確定模塊和強(qiáng)制退出模塊;其中,

確定模塊,用于在安卓系統(tǒng)應(yīng)用程序運(yùn)行時(shí),通過(guò)監(jiān)測(cè)特定進(jìn)程的進(jìn)程狀態(tài)文件,確定所述應(yīng)用程序是否處于被調(diào)試狀態(tài);所述特定進(jìn)程為所述應(yīng)用程序主進(jìn)程或預(yù)先創(chuàng)建的應(yīng)用程序主進(jìn)程的子進(jìn)程;

強(qiáng)制退出模塊,用于在所述應(yīng)用程序處于被調(diào)試狀態(tài)時(shí),強(qiáng)制退出所述應(yīng)用程序。

上述方案中,所述確定模塊,具體用于通過(guò)監(jiān)測(cè)特定進(jìn)程的進(jìn)程狀態(tài)文件的TracerPid字段的值,確定所述應(yīng)用程序是否處于被調(diào)試狀態(tài)。

上述方案中,所述確定模塊,具體用于在所述應(yīng)用程序主進(jìn)程的進(jìn)程狀態(tài)文件的TracerPid字段的值非0,或應(yīng)用程序主進(jìn)程的子進(jìn)程的進(jìn)程狀態(tài)文件的TracerPid字段的值非0時(shí),確定所述應(yīng)用程序處于被調(diào)試狀態(tài);否則,確定所述應(yīng)用程序未處于被調(diào)試狀態(tài)。

上述方案中,所述裝置還包括獲取模塊,用于在確定所述應(yīng)用程序是否處于被調(diào)試狀態(tài)之前,獲取預(yù)設(shè)的反調(diào)試函數(shù);所述反調(diào)試函數(shù),用于在被執(zhí)行時(shí),實(shí)現(xiàn)第一功能和第二功能;所述第一功能為所述通過(guò)監(jiān)測(cè)特定進(jìn)程的進(jìn)程狀態(tài)文件,確定所述應(yīng)用是否處于被調(diào)試狀態(tài)的功能,所述第二功能為所述應(yīng)用程序處于被調(diào)試狀態(tài)時(shí),強(qiáng)制退出所述應(yīng)用程序的功能;

所述確定模塊,具體用于利用所述應(yīng)用程序主進(jìn)程的子進(jìn)程調(diào)用反調(diào)試函數(shù),實(shí)現(xiàn)所述第一功能;

所述強(qiáng)制退出模塊,具體用于在反調(diào)試函數(shù)實(shí)現(xiàn)所述第一功能后,利用反調(diào)試函數(shù)實(shí)現(xiàn)所述第二功能。

上述方案中,所述獲取模塊,具體用于將預(yù)設(shè)的反調(diào)試函數(shù)封裝在C語(yǔ)言編寫的SO文件中;通過(guò)執(zhí)行SO文件加載函數(shù)來(lái)調(diào)用SO文件中的反調(diào)試函數(shù)。

上述方案中,所述強(qiáng)制退出模塊,具體用于在所述應(yīng)用程序處于被調(diào)試狀態(tài)時(shí),結(jié)束所述應(yīng)用程序的主進(jìn)程,使所述應(yīng)用程序退出。

本發(fā)明實(shí)施例提供的一種安卓系統(tǒng)應(yīng)用程序的保護(hù)方法和裝置,在安卓系 統(tǒng)應(yīng)用程序運(yùn)行時(shí),通過(guò)監(jiān)測(cè)特定進(jìn)程的進(jìn)程狀態(tài)文件的TracerPid字段的值,確定所述應(yīng)用程序是否處于被調(diào)試狀態(tài);所述特定進(jìn)程為所述應(yīng)用程序主進(jìn)程或預(yù)先創(chuàng)建的應(yīng)用程序主進(jìn)程的子進(jìn)程;在所述應(yīng)用程序處于被調(diào)試狀態(tài)時(shí),強(qiáng)制退出所述應(yīng)用程序。如此,本發(fā)明實(shí)施例采用通過(guò)監(jiān)測(cè)進(jìn)程狀態(tài)文件的TracerPid字段的值,確定所述應(yīng)用程序是否處于被調(diào)試狀態(tài),適用性更廣,可以兼容安卓4.4及之后的版本;并且采用信號(hào)量機(jī)制實(shí)現(xiàn)對(duì)特定進(jìn)程的進(jìn)程狀態(tài)文件的實(shí)時(shí)監(jiān)控,不容易被繞過(guò),提高了應(yīng)用程序的安全性。

附圖說(shuō)明

圖1為本發(fā)明安卓系統(tǒng)應(yīng)用程序的保護(hù)方法的第一實(shí)施例的流程圖;

圖2為本發(fā)明實(shí)施例安卓系統(tǒng)應(yīng)用程序的保護(hù)裝置的組成結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。

第一實(shí)施例

本發(fā)明第一實(shí)施例提供了一種安卓系統(tǒng)應(yīng)用程序的保護(hù)方法,圖1為本發(fā)明安卓系統(tǒng)應(yīng)用程序的保護(hù)方法的第一實(shí)施例的流程圖,如圖1所示,該流程包括:

步驟100:在安卓系統(tǒng)應(yīng)用程序運(yùn)行時(shí),通過(guò)監(jiān)測(cè)特定進(jìn)程的進(jìn)程狀態(tài)文件,確定所述應(yīng)用程序是否處于被調(diào)試狀態(tài);所述特定進(jìn)程為所述應(yīng)用程序主進(jìn)程或預(yù)先創(chuàng)建的應(yīng)用程序主進(jìn)程的子進(jìn)程。

本步驟中,所述監(jiān)測(cè)特定進(jìn)程狀態(tài)文件包括:監(jiān)測(cè)特定進(jìn)程的進(jìn)程狀態(tài)文件的TracerPid字段的值。

這里,進(jìn)程狀態(tài)文件用于表示對(duì)應(yīng)進(jìn)程的狀態(tài),在進(jìn)程狀態(tài)文件中,TracerPid字段的值可以作為確定相應(yīng)進(jìn)程是否在被調(diào)試的依據(jù),當(dāng)TracerPid字段的值為0時(shí),說(shuō)明相應(yīng)進(jìn)程未被調(diào)試;否則,當(dāng)TracerPid字段的值非0時(shí), 說(shuō)明相應(yīng)進(jìn)程在被調(diào)試;也就是說(shuō),每個(gè)進(jìn)程在運(yùn)行時(shí)都會(huì)將自己的進(jìn)程狀態(tài)以文件的形式進(jìn)行實(shí)時(shí)記錄,而文件中的TracerPid字段會(huì)反映該進(jìn)程的調(diào)試狀態(tài);示例性地,對(duì)于進(jìn)程號(hào)為$pid的進(jìn)程來(lái)說(shuō),安卓系統(tǒng)的/proc/$pid/status文件實(shí)時(shí)反映了進(jìn)程號(hào)為$pid的進(jìn)程的狀態(tài),如果/proc/$pid/status文件中TracerPid字段的值為0,則說(shuō)明進(jìn)程號(hào)為$pid的進(jìn)程處于未被調(diào)試狀態(tài)。

本步驟具體包括:所述確定所述應(yīng)用程序是否處于被調(diào)試狀態(tài),包括:所述應(yīng)用程序主進(jìn)程的進(jìn)程狀態(tài)文件的TracerPid字段的值非0,或應(yīng)用程序主進(jìn)程的子進(jìn)程的進(jìn)程狀態(tài)文件的TracerPid字段的值非0時(shí),確定所述應(yīng)用程序處于被調(diào)試狀態(tài);否則,確定所述應(yīng)用程序未處于被調(diào)試狀態(tài)。

另外,本步驟中,應(yīng)用程序主進(jìn)程的子進(jìn)程主要用于通過(guò)監(jiān)測(cè)所述應(yīng)用程序主進(jìn)程以及自身的進(jìn)程狀態(tài)文件,實(shí)現(xiàn)對(duì)所述應(yīng)用程序的保護(hù)。具體地說(shuō),在本步驟之前,獲取預(yù)設(shè)的反調(diào)試函數(shù),創(chuàng)建所述應(yīng)用程序主進(jìn)程的子進(jìn)程;這里,所述反調(diào)試函數(shù),用于在被執(zhí)行時(shí),實(shí)現(xiàn)第一功能;所述第一功能為所述通過(guò)監(jiān)測(cè)特定進(jìn)程的進(jìn)程狀態(tài)文件,確定所述應(yīng)用是否處于被調(diào)試狀態(tài)的功能,也就是說(shuō),第一功能是本步驟所實(shí)現(xiàn)的功能。

在實(shí)現(xiàn)本步驟時(shí),利用所述應(yīng)用程序主進(jìn)程的子進(jìn)程調(diào)用反調(diào)試函數(shù),實(shí)現(xiàn)所述第一功能。

針對(duì)獲取預(yù)設(shè)的反調(diào)試函數(shù)的方式,進(jìn)一步地,在本步驟之前,將反調(diào)試函數(shù)進(jìn)行封裝,形成封裝文件;在需要獲取反調(diào)試函數(shù)時(shí),從封裝文件中讀取出反調(diào)試函數(shù);進(jìn)一步地,獲取預(yù)設(shè)的反調(diào)試函數(shù),包括:將反調(diào)試函數(shù)進(jìn)行封裝時(shí),可以將反調(diào)試函數(shù)封裝于設(shè)定文件中,示例性地,設(shè)定文件C語(yǔ)言編寫的文件,也可以利用java代碼編寫的文件。

在將反調(diào)試函數(shù)封裝在C語(yǔ)言編寫的SO文件時(shí);通過(guò)執(zhí)行SO文件加載函數(shù)(System.loadLibrary)來(lái)調(diào)用SO文件,調(diào)用出所述反調(diào)試函數(shù)。

具體地說(shuō),在將反調(diào)試函數(shù)封裝在C語(yǔ)言編寫的SO文件中的JNI_Onload()函數(shù)中,之后,使用Android Dalvik虛擬機(jī)執(zhí)行SO文件加載函數(shù),此時(shí)自動(dòng)執(zhí)行JNI_Onload()函數(shù)來(lái)完成一系列初始化操作,這樣,在加載該SO文件時(shí)反調(diào) 試函數(shù)也會(huì)被讀取出。

本步驟中,可以在獲取預(yù)設(shè)的反調(diào)試函數(shù)之后,在反調(diào)試函數(shù)中創(chuàng)建所述應(yīng)用程序主進(jìn)程的子進(jìn)程;例如,當(dāng)通過(guò)加載SO文件讀取出反調(diào)試函數(shù)后,在該反調(diào)試函數(shù)中創(chuàng)建所述應(yīng)用程序主進(jìn)程的子進(jìn)程,這里,將應(yīng)用程序主進(jìn)程的子進(jìn)程的ID記為child_pid,將所述應(yīng)用程序主進(jìn)程的ID記為parent_pid。

這里,相對(duì)于java代碼,用C語(yǔ)言編寫生成的SO文件在對(duì)抗靜態(tài)逆向方面安全性更高,所以,將反調(diào)試函數(shù)封裝在C語(yǔ)言編寫的SO文件中,可以提高反調(diào)試函數(shù)的安全性。

此外,由于所述應(yīng)用程序主進(jìn)程的子進(jìn)程創(chuàng)建于反調(diào)試函數(shù)中,那么,所述應(yīng)用程序主進(jìn)程的子進(jìn)程不同于所述應(yīng)用程序主進(jìn)程,如此,在應(yīng)用程序主進(jìn)程的子進(jìn)程運(yùn)行時(shí),不會(huì)影響所述應(yīng)用程序。

本步驟中,所述利用所述應(yīng)用程序主進(jìn)程的子進(jìn)程調(diào)用反調(diào)試函數(shù),包括:所述應(yīng)用程序主進(jìn)程的子進(jìn)程每隔n秒,調(diào)用反調(diào)試函數(shù),n為正數(shù)。例如,n等于2。

示例性地,在子進(jìn)程中設(shè)置一個(gè)定時(shí)器,該定時(shí)器可以是安卓系統(tǒng)提供的定時(shí)器,定時(shí)器的設(shè)定超時(shí)時(shí)間為n秒;定時(shí)器每一次超時(shí)都會(huì)觸發(fā)SIGALRM信號(hào);在子進(jìn)程中通過(guò)系統(tǒng)函數(shù)signal()來(lái)接收SIGALRM信號(hào),在接收到SIGALRM信號(hào)后,調(diào)用所述反調(diào)試函數(shù)。

步驟101:所述應(yīng)用程序處于被調(diào)試狀態(tài)時(shí),強(qiáng)制退出所述應(yīng)用程序。

示例性地,所述反調(diào)試函數(shù),用于在實(shí)現(xiàn)第一功能的基礎(chǔ)上,實(shí)現(xiàn)第二功能;所述第二功能為所述應(yīng)用程序處于被調(diào)試狀態(tài)時(shí),強(qiáng)制退出所述應(yīng)用程序的功能;也就是說(shuō),第二功能是本步驟所實(shí)現(xiàn)的功能。

本步驟中,強(qiáng)制退出所述應(yīng)用程序,包括:結(jié)束所述應(yīng)用程序的主進(jìn)程,使所述應(yīng)用程序退出;如此,在所述應(yīng)用程序的主進(jìn)程后,動(dòng)態(tài)調(diào)試自然無(wú)法進(jìn)行,從而達(dá)到反調(diào)試的效果。

需要說(shuō)明的是,所述應(yīng)用程序未處于被調(diào)試狀態(tài)時(shí),不作任何處理。例如,當(dāng)反調(diào)試函數(shù)在實(shí)現(xiàn)第一功能時(shí),如果確定應(yīng)用程序未處于被調(diào)試狀態(tài),則反 調(diào)試函數(shù)不執(zhí)行任何操作。

顯然,反調(diào)試函數(shù)實(shí)現(xiàn)的功能可以總結(jié)為:讀取特定進(jìn)程的進(jìn)程狀態(tài)文件的TracerPid字段的值,如果該值為0,不做任何操作;否則,如果該值非0,則殺死所述應(yīng)用程序的主進(jìn)程。

可以看出,反調(diào)試函數(shù)在被執(zhí)行時(shí),采用信號(hào)量機(jī)制實(shí)現(xiàn)對(duì)特定進(jìn)程的進(jìn)程狀態(tài)文件的實(shí)時(shí)監(jiān)控,不容易被繞過(guò),提高應(yīng)用程序的安全性。

本發(fā)明安卓系統(tǒng)應(yīng)用程序的保護(hù)方法的第一實(shí)施例,在確定所述應(yīng)用程序處于被調(diào)試狀態(tài)時(shí),強(qiáng)制退出所述應(yīng)用程序,不給破解者進(jìn)行調(diào)試的機(jī)會(huì);本發(fā)明第一實(shí)施例中,采用監(jiān)測(cè)進(jìn)程狀態(tài)文件,確定所述應(yīng)用程序是否處于被調(diào)試狀態(tài),適用性更廣,可以兼容安卓4.4及之后的版本;采用信號(hào)量機(jī)制實(shí)現(xiàn)對(duì)特定進(jìn)程的進(jìn)程狀態(tài)文件的實(shí)時(shí)監(jiān)控,不容易被繞過(guò),提高了應(yīng)用程序的安全性。

第二實(shí)施例

針對(duì)本發(fā)明第一實(shí)施例的安卓系統(tǒng)應(yīng)用程序的保護(hù)方法,本發(fā)明第二實(shí)施例提供了一種安卓系統(tǒng)應(yīng)用程序的保護(hù)裝置。

圖2為本發(fā)明實(shí)施例安卓系統(tǒng)應(yīng)用程序的保護(hù)裝置的組成結(jié)構(gòu)示意圖,如圖2所示,該裝置包括:確定模塊200和強(qiáng)制退出模塊201;其中,

確定模塊200,用于在安卓系統(tǒng)應(yīng)用程序運(yùn)行時(shí),通過(guò)監(jiān)測(cè)特定進(jìn)程的進(jìn)程狀態(tài)文件,確定所述應(yīng)用程序是否處于被調(diào)試狀態(tài);所述特定進(jìn)程為所述應(yīng)用程序主進(jìn)程或預(yù)先創(chuàng)建的應(yīng)用程序主進(jìn)程的子進(jìn)程。

強(qiáng)制退出模塊201,用于在所述應(yīng)用程序處于被調(diào)試狀態(tài)時(shí),強(qiáng)制退出所述應(yīng)用程序。

具體地,所述確定模塊200,具體用于通過(guò)監(jiān)測(cè)特定進(jìn)程的進(jìn)程狀態(tài)文件的TracerPid字段的值,確定所述應(yīng)用程序是否處于被調(diào)試狀態(tài)。

所述確定模塊200,具體用于在所述應(yīng)用程序主進(jìn)程的進(jìn)程狀態(tài)文件的TracerPid字段的值非0,或應(yīng)用程序主進(jìn)程的子進(jìn)程的進(jìn)程狀態(tài)文件的TracerPid字段的值非0時(shí),確定所述應(yīng)用程序處于被調(diào)試狀態(tài);否則,確定所 述應(yīng)用程序未處于被調(diào)試狀態(tài)。

進(jìn)一步地,所述裝置還包括獲取模塊202,用于在確定所述應(yīng)用程序是否處于被調(diào)試狀態(tài)之前,獲取預(yù)設(shè)的反調(diào)試函數(shù);所述反調(diào)試函數(shù),用于在被執(zhí)行時(shí),實(shí)現(xiàn)第一功能和第二功能;所述第一功能為所述通過(guò)監(jiān)測(cè)特定進(jìn)程的進(jìn)程狀態(tài)文件,確定所述應(yīng)用是否處于被調(diào)試狀態(tài)的功能,所述第二功能為所述應(yīng)用程序處于被調(diào)試狀態(tài)時(shí),強(qiáng)制退出所述應(yīng)用程序的功能。

所述確定模塊200,具體用于利用所述應(yīng)用程序主進(jìn)程的子進(jìn)程調(diào)用反調(diào)試函數(shù),實(shí)現(xiàn)所述第一功能。

所述強(qiáng)制退出模塊201,具體用于在反調(diào)試函數(shù)實(shí)現(xiàn)所述第一功能后,利用反調(diào)試函數(shù)實(shí)現(xiàn)所述第二功能。

具體地,所述獲取模塊202,用于將預(yù)設(shè)的反調(diào)試函數(shù)封裝在C語(yǔ)言編寫的SO文件中;通過(guò)執(zhí)行SO文件加載函數(shù)來(lái)調(diào)用SO文件中的反調(diào)試函數(shù)。

具體地,所述強(qiáng)制退出模塊201,用于在所述應(yīng)用程序處于被調(diào)試狀態(tài)時(shí),結(jié)束所述應(yīng)用程序的主進(jìn)程,使所述應(yīng)用程序退出。

在實(shí)際應(yīng)用中,所述確定模塊200、強(qiáng)制退出模塊201和獲取模塊202均可由位于移動(dòng)終端中的中央處理器(Central Processing Unit,CPU)、微處理器(Micro Processor Unit,MPU)、數(shù)字信號(hào)處理器(Digital Signal Processor,DSP)、或現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)等實(shí)現(xiàn)。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用硬件實(shí)施例、軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或 其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。

這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。

以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
葵青区| 天津市| 海兴县| 双峰县| 清新县| 六安市| 兴宁市| 苗栗县| 高碑店市| 溧水县| 化德县| 教育| 石台县| 尚义县| 安图县| 浪卡子县| 库尔勒市| 临泽县| 锡林浩特市| 苍山县| 玉溪市| 特克斯县| 夏邑县| 桂林市| 南江县| 高唐县| 苗栗县| 丰都县| 封丘县| 汾西县| 新竹市| 双鸭山市| 龙岩市| 定远县| 耒阳市| 逊克县| 乐山市| 东阿县| 惠安县| 东丰县| 老河口市|