[發明專利]程序保護方法及裝置有效
| 申請號: | 201410053911.0 | 申請日: | 2014-02-18 |
| 公開(公告)號: | CN103853943B | 公開(公告)日: | 2017-01-18 |
| 發明(設計)人: | 梁捷;余延軍 | 申請(專利權)人: | 廣州愛九游信息技術有限公司 |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12 |
| 代理公司: | 北京弘權知識產權代理事務所(普通合伙)11363 | 代理人: | 逯長明,陳蕾 |
| 地址: | 510627 廣東省廣州市天河區黃埔大*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 程序 保護 方法 裝置 | ||
技術領域
本發明涉及軟件加解密技術領域,尤其是涉及一種程序保護方法及裝置。
背景技術
軟件的核心算法與軟件產品競爭力有直接關系,因此軟件的核心算法保護相比其源代碼保護有更高的要求。
為保證源代碼的安全,編譯軟件時,一般會對源代碼進行加密處理,比如在編譯Java代碼時,可以使用編譯器自帶的編譯庫來快速實現代碼的加密。由于這樣的加密方式是通過固定的庫來實現加密處理,因此使用這類的加密方式非常容易被反編譯工具(如使用javap/jd-gui等工具)破解,從而導致核心源碼的泄露。現有技術中尚缺少一種有效的對軟件核心源碼進行保護的方法。
發明內容
有鑒于此,本發明實施例的目的是提供一種程序保護方法及裝置,以解決軟件程序無法被有效保護的技術問題。
為了解決上述技術問題,本發明實施例公開了如下技術方案:
一方面,本發明實施例提供了一種程序保護方法,所述方法包括:
在程序生成階段中,執行如下加密步驟:
獲取第一密鑰,其中所述第一密鑰包括公鑰和私鑰;
獲取第二密鑰以及指定類的標識;
根據所述指定類的標識使用所述第二密鑰對所述指定類進行加密,以得到所述指定類的密文數據;
使用所述第一密鑰的公鑰對第二密鑰屬性信息進行加密,以得到第二密鑰屬性信息的密文數據,其中所述第二密鑰屬性信息包括所述第二密鑰、所述指定類的標識;
在程序運行階段中,執行如下解密步驟:
使用所述第一密鑰的私鑰對所述第二密鑰屬性信息的密文數據進行解密,以得到所述第二密鑰和指定類的標識;
根據所述指定類的標識判斷待加載的類是否屬于所述指定類,若屬于所述指定類,則使用所述第二密鑰對所述待加載類進行解密。
優選的,所述獲取第一密鑰包括:
獲取第一種子數據;
根據所述第一種子數據按照第一加密算法生成所述第一密鑰。
優選的,所述獲取第二密鑰包括:
獲取第二種子數據;
根據所述第二種子數據按照第二加密算法生成所述第二密鑰。
優選的,所述第二密鑰屬性信息還包括第二密鑰的失效周期數據;
在使用所述第一密鑰的公鑰對第二密鑰屬性信息進行加密之前,所述方法還包括:
獲取第二密鑰的失效周期數據;
在使用所述第二密鑰對所述待加載類進行解密之后,所述方法還包括:
根據使用所述第一密鑰的私鑰對所述第二密鑰屬性信息的密文數據進行解密后得到的所述第二密鑰的失效周期數據,判斷當前的第二密鑰是否已失效,若已失效,則:
獲取新的第二密鑰,
使用所述新的第二密鑰對所述指定類重新進行加密以得到所述指定類的新的密文數據,
使用所述第一密鑰的公鑰對所述第二密鑰屬性信息重新進行加密。
優選的,所述獲取新的第二密鑰包括:
獲取新的第二種子數據;
根據所述新的第二種子數據按照第二加密算法生成所述新的第二密鑰。
優選的,所述方法還包括:
在所述加密步驟中,根據第三加密算法對所述公鑰和私鑰進行加密并分別存儲在公鑰文件和私鑰文件中;
在所述解密步驟中,根據所述第三加密算法對所述公鑰文件和私鑰文件進行解密,以得到所述公鑰和私鑰。
另一方面,本發明實施例還提供了一種程序保護裝置,所述裝置包括加密模塊和解密模塊;
所述加密模塊包括:
第一密鑰獲取單元,用于獲取第一密鑰,其中所述第一密碼包括公鑰和私鑰;
第二密鑰獲取單元,用于獲取第二密鑰以及指定類的標識;
類加密單元,用于根據所述指定類的標識使用所述第二密鑰對所述指定類進行加密,以得到所述指定類的密文數據;
密鑰加密單元,用于使用所述第一密鑰的公鑰對第二密鑰屬性信息進行加密,以得到第二密鑰屬性信息的密文數據,其中所述第二密鑰屬性信息包括所述第二密鑰以及所述指定類的標識;
所述解密模塊包括:
密鑰解密單元,用于使用所述第一密鑰的私鑰對所述第二密鑰屬性信息的密文數據進行解密,以得到所述第二密鑰和指定類的標識;
類解密單元,用于根據所述指定類的標識判斷待加載的類是否屬于所述指定類,若屬于所述指定類,則使用所述第二密鑰對所述待加載類進行解密。
優選的,所述第一密鑰獲取單元包括:
第一種子數據獲取子單元,用于獲取第一種子數據;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州愛九游信息技術有限公司,未經廣州愛九游信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410053911.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:卡巴他賽的無定形形式和用于其制備的方法
- 下一篇:一種LED燈泡





