[發(fā)明專利]可執(zhí)行程序的保護(hù)方法及裝置有效
| 申請?zhí)枺?/td> | 201710154053.2 | 申請日: | 2017-03-15 |
| 公開(公告)號: | CN106951744B | 公開(公告)日: | 2019-12-13 |
| 發(fā)明(設(shè)計(jì))人: | 孫吉平;朱慶芬 | 申請(專利權(quán))人: | 北京深思數(shù)盾科技股份有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 11348 北京鼎佳達(dá)知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) | 代理人: | 王偉鋒;劉鐵生 |
| 地址: | 100193 北京市海淀區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 可執(zhí)行 程序 保護(hù) 方法 裝置 | ||
本發(fā)明公開了一種可執(zhí)行程序的保護(hù)方法及裝置,涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,解決了現(xiàn)有技術(shù)中對可執(zhí)行程序的保護(hù)效果較差,進(jìn)而導(dǎo)致可執(zhí)行程序的安全性易受到影響的問題。本發(fā)明的主要技術(shù)方案為:從可執(zhí)行程序中提取待保護(hù)語句,并對所述待保護(hù)語句進(jìn)行分組,得到分組語句;混淆所述分組語句的分組順序;根據(jù)特定規(guī)則對混淆后的分組語句進(jìn)行操作,生成與所述混淆后的分組語句對應(yīng)的秘鑰數(shù)組;通過對所述秘鑰數(shù)組和本地代碼進(jìn)行交互運(yùn)算,生成包含所述秘鑰數(shù)組及連接語句的代碼;將所述包含所述秘鑰數(shù)組及所述連接語句的代碼注入到已提取待保護(hù)語句的可執(zhí)行程序中。本發(fā)明主要用于可執(zhí)行程序的保護(hù)。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種可執(zhí)行程序的保護(hù)方法及裝置。
背景技術(shù)
隨著微軟可擴(kuò)展標(biāo)記語言的網(wǎng)絡(luò)分布式模塊化組件服務(wù)平臺(Microsoft.NETXML Web Services,簡稱.NET)的逐步普及,對.NET平臺下可執(zhí)行程序的保護(hù)也逐步受到人們的重視。其中,.NET平臺為一款微軟公司開發(fā)的技術(shù)平臺,旨在實(shí)現(xiàn)平臺上不同編程語言的可執(zhí)行程序間數(shù)據(jù)的通訊和共享。該平臺可以面向多種編程語言,例如C++(The C++Programming Language,一種編程語言,簡稱C++語言)、C#(The C# ProgrammingLanguage,一種編程語言,簡稱C#語言)或VB(Visual Basic,一種編程語言,簡稱VB語言)等編程語言。通常情況下,.NET平臺可以將上述編程語言轉(zhuǎn)化成微軟中間語言(MicrosoftIntermediate Language,簡稱MSIL),即中間語言(Intermediate Language,MSIL的縮寫,簡稱IL)指令。然而經(jīng).NET平臺轉(zhuǎn)化成IL指令的可執(zhí)行程序很容易被反編譯軟件還原成可執(zhí)行程序的源代碼并破解,例如,通常使用Reflector軟件來進(jìn)行可執(zhí)行程序的破解。因此,在.NET平臺下轉(zhuǎn)換為IL指令的可執(zhí)行程序都需要進(jìn)行必要的保護(hù)。
目前,在對.NET平臺下可執(zhí)行程序的保護(hù)過程中,通常使用兩種保護(hù)方法:一種方法是基于軟件的保護(hù)方法,該方法主要是通過保護(hù)軟件對IL指令的指令順序進(jìn)行改變,以達(dá)到混淆IL指令的目的,進(jìn)而實(shí)現(xiàn)對可執(zhí)行程序的保護(hù),其中,所述保護(hù)軟件可以為.NETReactor、Dotfuscator等;另一種方法是基于硬件的保護(hù)方法,該方法主要是挑選IL指令中的部分指令,通過將所述部分IL指令轉(zhuǎn)譯成其他編程代碼,并將所述轉(zhuǎn)譯后的代碼移植在預(yù)置的保護(hù)裝置中,以實(shí)現(xiàn)對可執(zhí)行程序的保護(hù)。然而,前者基于軟件的保護(hù)方法是基于純IL層面上,通過混淆IL指令的順序以實(shí)現(xiàn)保護(hù)功能,導(dǎo)致經(jīng)混淆后IL指令的抗分析性較差,容易被破解軟件破解,進(jìn)而影響轉(zhuǎn)化為IL指令的可執(zhí)行程序的安全性;后者基于硬件的保護(hù)方法中,由于轉(zhuǎn)譯后的代碼需移植到保護(hù)裝置中,導(dǎo)致所移植的代碼數(shù)量易受硬件的空間限制,進(jìn)而影響轉(zhuǎn)化為IL指令的可執(zhí)行程序的安全性。因此,現(xiàn)有技術(shù)中對轉(zhuǎn)化為IL指令的可執(zhí)行程序的保護(hù)效果較差,進(jìn)而導(dǎo)致可執(zhí)行程序的安全性易受到影響。
發(fā)明內(nèi)容
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的可執(zhí)行程序的保護(hù)方法及裝置。
為達(dá)到上述目的,本發(fā)明主要提供如下技術(shù)方案:
一方面,本發(fā)明提供了一種可執(zhí)行程序的保護(hù)方法,該方法包括:
從可執(zhí)行程序中提取待保護(hù)語句,并對所述待保護(hù)語句進(jìn)行分組,得到分組語句;
混淆所述分組語句的分組順序;
根據(jù)特定規(guī)則對混淆后的分組語句進(jìn)行操作,生成與所述混淆后的分組語句對應(yīng)的秘鑰數(shù)組;
通過對所述秘鑰數(shù)組和本地代碼進(jìn)行交互運(yùn)算,生成包含所述秘鑰數(shù)組及連接語句的代碼;
將所述包含所述秘鑰數(shù)組及所述連接語句的代碼注入到已提取待保護(hù)語句的可執(zhí)行程序中。
另一方面,本發(fā)明還提供一種可執(zhí)行程序的保護(hù)裝置,該裝置包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京深思數(shù)盾科技股份有限公司,未經(jīng)北京深思數(shù)盾科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710154053.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過限制訪問或處理程序或過程
- 從多形態(tài)可執(zhí)行程序到多形態(tài)操作系統(tǒng)
- 操作可執(zhí)行非易失性存儲器中的部分可執(zhí)行程序的方法
- 一種實(shí)現(xiàn)編譯器錯誤的自動定位方法和裝置
- 參數(shù)傳遞方法、單板加載器、單板和單板仿真器
- 一種可執(zhí)行模塊的提供、加載方法及終端
- 調(diào)用重定向機(jī)制構(gòu)建Unix可信平臺的方法
- 用于運(yùn)行可執(zhí)行代碼的方法、處理模塊及系統(tǒng)
- 用于系統(tǒng)適配的動態(tài)程序評估系統(tǒng)和方法
- 一種用于管控可執(zhí)行程序的方法和裝置
- 一種安全運(yùn)行可執(zhí)行文件的方法及系統(tǒng)





