[發明專利]一種保護應用程序的方法和裝置有效
| 申請號: | 201410767711.1 | 申請日: | 2014-12-11 |
| 公開(公告)號: | CN105740661B | 公開(公告)日: | 2019-06-25 |
| 發明(設計)人: | 劉芳;柏洪濤;左敏;石松泉;耿慧拯 | 申請(專利權)人: | 中國移動通信集團公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 11291 | 代理人: | 郭潤湘 |
| 地址: | 100032 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 保護 應用程序 方法 裝置 | ||
本發明公開了一種保護應用程序的方法和裝置,用以解決現有技術中存在的應用程序對抗逆向工具時效果不佳,導致安全性較差的問題。該方法包括:在運行應用程序之前,獲取隱藏在所述應用程序中的敏感數據;其中,所述敏感數據是為保護所述應用程序而需要隱藏的數據,且所述應用程序中的當前可執行程序文件無法正常運行;根據所述敏感數據,判斷所述應用程序是否被篡改;當判斷出所述應用程序被篡改時,輸出預警提示;當判斷出所述應用程序未被篡改時,根據所述敏感數據對所述當前可執行程序文件進行修復,得到可以正常運行的原可執行程序文件。
技術領域
本發明涉及軟件安全技術領域,尤其涉及一種保護應用程序的方法和裝置。
背景技術
隨著安卓系統的迅速發展,針對安卓軟件的破解技術層出不窮,破解者使用各種逆向工具,對安卓軟件進行逆向分析,從而篡改軟件。被篡改過的軟件為用戶帶來了極大的安全隱患,也威脅到原軟件開發者的正當權益。
在防止軟件被逆向工具逆向分析方面,業界通常針對特定逆向工具漏洞,在安卓軟件中植入保護代碼,使得特定逆向工具在逆向該軟件時失效。
這種抗逆向手段的難點在于,既要讓安卓軟件的應用程序格式合法(即可以在安卓系統中正常啟動),又要讓逆向工具認為該應用程序不合法從而失效。
如何讓安卓系統認為這是個合法的應用程序,又要讓模擬安卓系統解析功能的逆向工具認為同一個應用程序不合法,一直是業界研究的方向之一。這需要對逆向工具極為熟悉,并找到逆向工具的漏洞才能實現。
即便找到了某個逆向工具的漏洞,使得這種逆向工具失效,破解者還可以選擇其他的逆向工具完成軟件的逆向分析。而且,很多破解者同樣了解逆向工具的漏洞,這類破解者可以找到應用程序中針對某種逆向工具漏洞插入的保護代碼,并對這部分代碼進行改寫,使之可以被該逆向工具逆向分析。因此,針對逆向工具漏洞植入保護代碼的方案往往效果不佳。
發明內容
本發明實施例提供了一種保護應用程序的方法和裝置,用以解決現有技術中存在的應用程序對抗逆向工具時效果不佳,導致安全性較差的問題。
本發明實施例采用以下技術方案:
本發明實施例提供了一種保護應用程序的方法,包括:
在運行應用程序之前,獲取隱藏在所述應用程序中的敏感數據;其中,所述敏感數據是為保護所述應用程序而需要隱藏的數據,且所述應用程序中的當前可執行程序文件無法正常運行;
根據所述敏感數據,判斷所述應用程序是否被篡改;
當判斷出所述應用程序被篡改時,輸出預警提示;
當判斷出所述應用程序未被篡改時,根據所述敏感數據對所述當前可執行程序文件進行修復,得到可以正常運行的原可執行程序文件。
其中,所述當前可執行程序文件按照如下方式獲得:
解析應用程序中可以正常運行的原可執行程序文件,對所述原可執行程序文件中的預設字符進行修改,得到修改后的當前可執行程序文件。
其中,對所述原可執行程序文件中的預設字符進行修改,具體包括:
當所述預設字符包含所述原可執行程序文件中指定字符串的索引值時,將所述原可執行程序文件中指定字符串的索引值修改為無效索引值或指向其它內容的索引值;
當所述預設字符包含指定結構在所述原可執行程序文件中的偏移地址時,將所述指定結構在所述原可執行程序文件中的偏移地址修改為無效地址或其它內容的地址;
當所述預設字符包含指定結構在所述原可執行程序文件中的指令編號時,將所述指定結構在所述原可執行程序文件中的指令編號修改為無效指令編號或其它指令編號。
其中,所述敏感數據按照如下方式隱藏:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國移動通信集團公司,未經中國移動通信集團公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410767711.1/2.html,轉載請聲明來源鉆瓜專利網。





