• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種安卓系統應用程序的保護方法和裝置制造方法及圖紙

    技術編號:15501175 閱讀:303 留言:0更新日期:2017-06-03 22:40
    本發明專利技術實施例公開了一種安卓系統應用程序的保護方法,包括:在安卓系統應用程序運行時,通過監測特定進程的進程狀態文件,確定所述應用程序是否處于被調試狀態;所述特定進程為所述應用程序主進程或預先創建的應用程序主進程的子進程;所述應用程序處于被調試狀態時,強制退出所述應用程序。本發明專利技術實施例還公開了一種安卓系統應用程序的保護裝置。

    Protection method and device for Android system application program

    The embodiment of the invention discloses a protection method, a Android system application in Android application system, through the process of monitoring the state file specific process, determine whether the application is in the debugging status; the specific process for the application of main process or pre created applications the main process of sub processes; the application is being debugged when forced to exit the application. The embodiment of the invention also discloses a protection device for a Android system application program.

    【技術實現步驟摘要】
    一種安卓系統應用程序的保護方法和裝置
    本專利技術涉及安卓(Android)軟件保護技術,尤其涉及一種安卓系統應用程序的保護方法和裝置。
    技術介紹
    在對安卓系統應用程序進行保護,現有技術主要通過軟件加殼和代碼混淆來實現。雖然加殼和混淆是目前安卓軟件開發者常用的軟件保護手段,針對靜態分析確實有很好的效果;但是這兩種方法在反動態調試方面效果不佳,無法很好的保證程序運行時的安全。在實現安卓系統應用程序反動態調試時,當前使用最多的反動態調試的技術方案為:通過調用ptrace系統函數來使調試器失效,從而實現反動態調試;然而,這種反動態調試的技術還至少存在以下缺點:1)由于這種反動態調試的技術的核心在于通過調用ptrace系統函數來使調試器失效,體現在代碼里只是一個函數調用,實現機制較為簡單,破解者可以通過靜態反編譯的手段將這一函數調用注釋掉,如此,反調試機制就會失效。2)無法兼容安卓4.4及以后的版本;具體地說,由于安卓4.4及以后的版本中開啟了全新的安全模式,無法再調ptrace系統函數來實現反調試。
    技術實現思路
    為解決上述技術問題,本專利技術實施例期望提供一種安卓系統應用程序的保護方法和裝置,具有較高的兼容性和安全性。本專利技術的技術方案是這樣實現的:本專利技術實施例提供了一種安卓系統應用程序的保護方法,包括:在安卓系統應用程序運行時,通過監測特定進程的進程狀態文件,確定所述應用程序是否處于被調試狀態;所述特定進程為所述應用程序主進程或預先創建的應用程序主進程的子進程;所述應用程序處于被調試狀態時,強制退出所述應用程序。上述方案中,所述監測特定進程狀態文件包括:監測特定進程的進程狀態文件的TracerPid字段的值。上述方案中,所述確定所述應用程序是否處于被調試狀態,包括:所述應用程序主進程的進程狀態文件的TracerPid字段的值非0,或應用程序主進程的子進程的進程狀態文件的TracerPid字段的值非0時,確定所述應用程序處于被調試狀態;否則,確定所述應用程序未處于被調試狀態。上述方案中,在確定所述應用程序是否處于被調試狀態之前,所述方法還包括:獲取預設的反調試函數;所述反調試函數,用于在被執行時,實現第一功能和第二功能;所述第一功能為所述通過監測特定進程的進程狀態文件,確定所述應用是否處于被調試狀態的功能,所述第二功能為所述應用程序處于被調試狀態時,強制退出所述應用程序的功能;所述確定所述應用程序是否處于被調試狀態,包括:利用所述應用程序主進程的子進程調用反調試函數,實現所述第一功能;所述應用程序處于被調試狀態時,強制退出所述應用程序,包括:在反調試函數實現所述第一功能后,實現所述第二功能。上述方案中,所述獲取預設的反調試函數,包括:將預設的反調試函數封裝在C語言編寫的SO文件中;通過執行SO文件加載函數來調用SO文件中的反調試函數。上述方案中,在獲取預設的反調試函數之后,所述方法還包括:在所述反調試函數中創建所述應用程序主進程的子進程。上述方案中,所述利用所述應用程序主進程的子進程調用反調試函數,包括:所述應用程序主進程的子進程每隔n秒調用反調試函數,n為正數。上述方案中,所述強制退出所述應用程序,包括:結束所述應用程序的主進程,使所述應用程序退出。本專利技術實施例還提供了一種安卓系統應用程序的保護裝置,包括:確定模塊和強制退出模塊;其中,確定模塊,用于在安卓系統應用程序運行時,通過監測特定進程的進程狀態文件,確定所述應用程序是否處于被調試狀態;所述特定進程為所述應用程序主進程或預先創建的應用程序主進程的子進程;強制退出模塊,用于在所述應用程序處于被調試狀態時,強制退出所述應用程序。上述方案中,所述確定模塊,具體用于通過監測特定進程的進程狀態文件的TracerPid字段的值,確定所述應用程序是否處于被調試狀態。上述方案中,所述確定模塊,具體用于在所述應用程序主進程的進程狀態文件的TracerPid字段的值非0,或應用程序主進程的子進程的進程狀態文件的TracerPid字段的值非0時,確定所述應用程序處于被調試狀態;否則,確定所述應用程序未處于被調試狀態。上述方案中,所述裝置還包括獲取模塊,用于在確定所述應用程序是否處于被調試狀態之前,獲取預設的反調試函數;所述反調試函數,用于在被執行時,實現第一功能和第二功能;所述第一功能為所述通過監測特定進程的進程狀態文件,確定所述應用是否處于被調試狀態的功能,所述第二功能為所述應用程序處于被調試狀態時,強制退出所述應用程序的功能;所述確定模塊,具體用于利用所述應用程序主進程的子進程調用反調試函數,實現所述第一功能;所述強制退出模塊,具體用于在反調試函數實現所述第一功能后,利用反調試函數實現所述第二功能。上述方案中,所述獲取模塊,具體用于將預設的反調試函數封裝在C語言編寫的SO文件中;通過執行SO文件加載函數來調用SO文件中的反調試函數。上述方案中,所述強制退出模塊,具體用于在所述應用程序處于被調試狀態時,結束所述應用程序的主進程,使所述應用程序退出。本專利技術實施例提供的一種安卓系統應用程序的保護方法和裝置,在安卓系統應用程序運行時,通過監測特定進程的進程狀態文件的TracerPid字段的值,確定所述應用程序是否處于被調試狀態;所述特定進程為所述應用程序主進程或預先創建的應用程序主進程的子進程;在所述應用程序處于被調試狀態時,強制退出所述應用程序。如此,本專利技術實施例采用通過監測進程狀態文件的TracerPid字段的值,確定所述應用程序是否處于被調試狀態,適用性更廣,可以兼容安卓4.4及之后的版本;并且采用信號量機制實現對特定進程的進程狀態文件的實時監控,不容易被繞過,提高了應用程序的安全性。附圖說明圖1為本專利技術安卓系統應用程序的保護方法的第一實施例的流程圖;圖2為本專利技術實施例安卓系統應用程序的保護裝置的組成結構示意圖。具體實施方式下面將結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方案進行清楚、完整地描述。第一實施例本專利技術第一實施例提供了一種安卓系統應用程序的保護方法,圖1為本專利技術安卓系統應用程序的保護方法的第一實施例的流程圖,如圖1所示,該流程包括:步驟100:在安卓系統應用程序運行時,通過監測特定進程的進程狀態文件,確定所述應用程序是否處于被調試狀態;所述特定進程為所述應用程序主進程或預先創建的應用程序主進程的子進程。本步驟中,所述監測特定進程狀態文件包括:監測特定進程的進程狀態文件的TracerPid字段的值。這里,進程狀態文件用于表示對應進程的狀態,在進程狀態文件中,TracerPid字段的值可以作為確定相應進程是否在被調試的依據,當TracerPid字段的值為0時,說明相應進程未被調試;否則,當TracerPid字段的值非0時,說明相應進程在被調試;也就是說,每個進程在運行時都會將自己的進程狀態以文件的形式進行實時記錄,而文件中的TracerPid字段會反映該進程的調試狀態;示例性地,對于進程號為$pid的進程來說,安卓系統的/proc/$pid/status文件實時反映了進程號為$pid的進程的狀態,如果/proc/$pid/status文件中TracerPid字段的值為0,則說明進程號為$pid的進程處于未被調試狀態。本步驟具體包括:所本文檔來自技高網...
    一種安卓系統應用程序的保護方法和裝置

    【技術保護點】
    一種安卓系統應用程序的保護方法,其特征在于,所述方法包括:在安卓系統應用程序運行時,通過監測特定進程的進程狀態文件,確定所述應用程序是否處于被調試狀態;所述特定進程為所述應用程序主進程或預先創建的應用程序主進程的子進程;所述應用程序處于被調試狀態時,強制退出所述應用程序。

    【技術特征摘要】
    1.一種安卓系統應用程序的保護方法,其特征在于,所述方法包括:在安卓系統應用程序運行時,通過監測特定進程的進程狀態文件,確定所述應用程序是否處于被調試狀態;所述特定進程為所述應用程序主進程或預先創建的應用程序主進程的子進程;所述應用程序處于被調試狀態時,強制退出所述應用程序。2.根據權利要求1所述的方法,其特征在于,所述監測特定進程狀態文件包括:監測特定進程的進程狀態文件的TracerPid字段的值。3.根據權利要求1或2所述的方法,其特征在于,所述確定所述應用程序是否處于被調試狀態,包括:所述應用程序主進程的進程狀態文件的TracerPid字段的值非0,或應用程序主進程的子進程的進程狀態文件的TracerPid字段的值非0時,確定所述應用程序處于被調試狀態;否則,確定所述應用程序未處于被調試狀態。4.根據權利要求1或2所述的方法,其特征在于,在確定所述應用程序是否處于被調試狀態之前,所述方法還包括:獲取預設的反調試函數;所述反調試函數,用于在被執行時,實現第一功能和第二功能;所述第一功能為所述通過監測特定進程的進程狀態文件,確定所述應用是否處于被調試狀態的功能,所述第二功能為所述應用程序處于被調試狀態時,強制退出所述應用程序的功能;所述確定所述應用程序是否處于被調試狀態,包括:利用所述應用程序主進程的子進程調用反調試函數,實現所述第一功能;所述應用程序處于被調試狀態時,強制退出所述應用程序,包括:在反調試函數實現所述第一功能后,實現所述第二功能。5.根據權利要求4所述的方法,其特征在于,所述獲取預設的反調試函數,包括:將預設的反調試函數封裝在C語言編寫的SO文件中;通過執行SO文件加載函數來調用SO文件中的反調試函數。6.根據權利要求4所述的方法,其特征在于,在獲取預設的反調試函數之后,所述方法還包括:在所述反調試函數中創建所述應用程序主進程的子進程。7.根據權利要求4所述的方法,其特征在于,所述利用所述應用程序主進程的子進程調用反調試函數,包括:所述應用程序主進程的子進程每隔n秒調用反調試函數,n為正數。8.根據權利要求...

    【專利技術屬性】
    技術研發人員:耿慧拯石松泉劉芳柏洪濤
    申請(專利權)人:中國移動通信集團公司
    類型:發明
    國別省市:北京,11

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 无码任你躁久久久久久老妇| 一本天堂ⅴ无码亚洲道久久| 无码视频一区二区三区| 亚洲AV永久无码精品一福利| 亚洲免费无码在线| 国产爆乳无码视频在线观看| 亚洲熟妇无码一区二区三区导航| 久久影院午夜理论片无码| 中文字幕无码中文字幕有码| 不卡无码人妻一区三区音频| 人妻丰满av无码中文字幕| 无码av专区丝袜专区| 在线看片福利无码网址| 无码精品人妻一区二区三区免费| 无码任你躁久久久久久老妇App| 日韩精品无码免费专区午夜| 精品久久久久久无码中文野结衣| 精品无码一区二区三区爱欲九九 | 亚洲AV无码一区二区大桥未久 | 亚洲精品无码av片| 在线看无码的免费网站| 国产50部艳色禁片无码| 国产亚洲情侣一区二区无码AV| 无码中文在线二区免费| 精品人妻系列无码一区二区三区| 2014AV天堂无码一区| 中文字幕人妻三级中文无码视频| 特级无码毛片免费视频| 国产精品爆乳奶水无码视频| 国产精品无码久久四虎| 无码中文av有码中文a| 亚洲AV永久无码精品网站在线观看| 亚洲AV无码乱码国产麻豆| 亚洲AV无码一区东京热| 无码国产精品一区二区免费式芒果| 国产亚洲3p无码一区二区| 亚洲av成人无码久久精品| 精品无码久久久久久尤物| 无码八A片人妻少妇久久| 2021无码最新国产在线观看| 亚洲av无码成人精品国产|