[發明專利]一種生成應用安裝包、執行應用的方法及裝置有效
| 申請號: | 201310512425.6 | 申請日: | 2013-10-25 |
| 公開(公告)號: | CN104573416B | 公開(公告)日: | 2018-07-17 |
| 發明(設計)人: | 張立春 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12;G06F21/62 |
| 代理公司: | 北京三高永信知識產權代理有限責任公司 11138 | 代理人: | 羅振安 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 應用安裝 可執行文件 應用 應用邏輯 聲明類型 加密 計算機技術領域 動態鏈接庫 重新打包 重新生成 解壓縮 預設 | ||
本發明公開了一種生成應用安裝包、執行應用的方法及裝置,屬于計算機技術領域。方法包括:通過對應用安裝包解壓縮處理,獲取應用安裝包中包含有應用的邏輯的可執行文件以及除可執行文件以外的第一文件;在可執行文件的代碼中,修改實現應用邏輯的函數的聲明類型,并將實現應用邏輯的函數對應的代碼進行加密;將第一文件,修改后的可執行文件以及預設的動態鏈接庫,重新打包生成應用對應的應用安裝包。本發明通過修改應用安裝包中包含有應用的邏輯的可執行文件實現應用邏輯的函數的聲明類型并加密該函數對應的代碼,以重新生成該應用安裝包。可以隱藏應用安裝包中的實現該應用的邏輯,無法被其他人員修改,提高了應用的安全性。
技術領域
本發明涉及計算機技術領域,特別涉及一種生成應用安裝包、執行應用的方法及裝置。
背景技術
隨著Android操作系統以及應用技術的發展,在Android操作系統中出現了各類應用以滿足用戶的各種需求。在開發應用的過程中,為了防止應用安裝包中的文件被修改,并重新打包發布的惡意行為,需要提供一種對應用的安裝包中文件的代碼進行保護的方法。
現有技術中,提供了一種代碼混淆的方式來保護應用的安裝包中文件的代碼,其原理是將代碼中類信息名稱、函數名稱、變量名稱修改為不易看懂的與原名稱不相同的代號,以增加其他開發人員理解該應用的代碼的難度,以達到保護應用的安裝文件的代碼的效果。例如將某函數名為display(),將安裝文件的代碼中所有該函數名修改為D(),此時其他開發人員無法通過該函數名確定該函數的具體意義。
在實現本發明的過程中,發明人發現現有技術至少存在以下問題:
通過代碼混淆的方式,僅是增加了識別代碼的難度,無法保護該應用的安裝包中文件的代碼的邏輯和數據,因此應用安裝包中的文件還會有被修改的可能。
發明內容
為了解決現有技術的問題,本發明實施例提供了一種生成應用安裝包、執行應用的方法及裝置。所述技術方案如下:
一方面,提供了一種生成應用安裝包的方法,所述方法包括:
通過對應用安裝包解壓縮處理,獲取所述應用安裝包中包含有所述應用的邏輯的可執行文件以及除所述可執行文件以外的第一文件;
在所述可執行文件的代碼中,修改實現所述應用邏輯的函數的聲明類型,并將實現所述應用邏輯的函數對應的代碼進行加密;
將所述第一文件,修改后的所述可執行文件以及預設的動態鏈接庫,重新打包生成所述應用對應的應用安裝包,其中所述動態鏈接庫用于還原實現所述應用邏輯的函數對應的聲明類型,并對實現所述應用邏輯的函數對應的代碼進行解密。
另一方面,提供了一種執行應用的方法,所述方法包括:
在系統運行應用安裝包時,獲取所述應用安裝包中的包含有所述應用的邏輯的可執行文件,除所述可執行文件以外的第一文件以及預設的動態鏈接庫;
調用所述動態鏈接庫,在所述可執行文件的代碼中還原實現所述應用邏輯的函數的聲明類型,并將實現所述應用邏輯的函數對應的代碼進行解密;
根據所述第一文件,修改后的所述可執行文件執行所述應用。
另一方面,提供了一種生成應用安裝包的裝置,所述裝置包括:
第一獲取模塊,用于通過對應用安裝包解壓縮處理,獲取所述應用安裝包中包含有所述應用的邏輯的可執行文件以及除所述可執行文件以外的第一文件;
第一修改模塊,用于在所述可執行文件的代碼中,修改實現所述應用邏輯的函數的聲明類型,并將實現所述應用邏輯的函數對應的代碼進行加密;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310512425.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:智能安全裝置
- 下一篇:PCB板流程監控方法





