[發(fā)明專利]基于殼技術(shù)的軟件保護(hù)方法和裝置在審
| 申請?zhí)枺?/td> | 201510019423.2 | 申請日: | 2015-08-03 |
| 公開(公告)號: | CN104504310A | 公開(公告)日: | 2015-07-29 |
| 發(fā)明(設(shè)計(jì))人: | 陳靜風(fēng) | 申請(專利權(quán))人: | 深圳市東信時代信息技術(shù)有限公司 |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12 |
| 代理公司: | 深圳市華優(yōu)知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 44319 | 代理人: | 韋鰲 |
| 地址: | 518000 廣東省深圳市福*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 技術(shù) 軟件 保護(hù) 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)軟件保護(hù)技術(shù)領(lǐng)域,并且特別涉及一種基于殼技術(shù)的軟件保護(hù)方法和裝置。
背景技術(shù)
隨著計(jì)算機(jī)軟件技術(shù)的發(fā)展,惡意軟件的感染破壞能力、破解者的水平都有大幅提升,對于安全性要求高的軟件來說,傳統(tǒng)的軟加密和硬加密方案的保護(hù)效果已不再明顯,軟件加密技術(shù)逐漸成熟,其中,殼加密技術(shù)便是我們常用的一種軟件保護(hù)手段。
殼是對加密軟件的一個形象的比喻,指的是軟件外部的一件“外衣”,是軟件的保護(hù)屏障。殼加密技術(shù)是指利用某種算法,對可移植的可執(zhí)行文件進(jìn)行加密、壓縮,給文件加上一個外殼,使惡意攻擊者無法在對軟件反匯編后,直接找到軟件的核心代碼。軟件殼是一段為了防止軟件被非法使用、篡改、拷貝等的程序,它通常先于原程序運(yùn)行,并且在運(yùn)行后獲得了軟件的控制權(quán),利用其保護(hù)功能對軟件進(jìn)行安全保護(hù)。具體而言,先運(yùn)行殼程序,殼將加密的主程序(即原來的待加殼的程序)代碼解密到內(nèi)存中,運(yùn)行其中相應(yīng)功能,并將程序的控制權(quán)交還給主程序。
在Win32環(huán)境中,軟件加殼技術(shù)已經(jīng)有非常成熟的商業(yè)產(chǎn)品。但是,對于.NET環(huán)境下的軟件,由于.NET程序的編譯結(jié)果不是機(jī)器語言代碼,而是一種MSIL中間代碼,因此,不能使用傳統(tǒng)的加殼技術(shù),而是需要一種在.NET環(huán)境下使用的軟件加殼方法。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于殼技術(shù)的軟件保護(hù)方法和裝置。
本發(fā)明實(shí)施例提供一種基于殼技術(shù)的軟件保護(hù)方法,其特征在于,包括:由編譯模塊將主程序編譯為動態(tài)鏈接庫文件;由所述編譯模塊編寫殼程序;由執(zhí)行模塊將所述主程序的運(yùn)行入口移入所述殼程序,并由所述編譯模塊將所述殼程序編譯生成可執(zhí)行程序;以及由所述執(zhí)行模塊執(zhí)行所述殼程序,通過所述殼程序動態(tài)加載并運(yùn)行所述主程序。
優(yōu)選地,由編譯模塊將主程序編譯為動態(tài)鏈接庫文件的所述步驟之后,還包括:由加密模塊通過計(jì)算機(jī)硬件指紋加密所述動態(tài)鏈接庫文件。
優(yōu)選地,所述計(jì)算機(jī)硬件指紋指的是計(jì)算機(jī)硬件信息中的識別號。
優(yōu)選地,由執(zhí)行模塊將所述主程序的運(yùn)行入口移入所述殼程序,并由所述編譯模塊將所述殼程序編譯生成可執(zhí)行程序的所述步驟之后,還包括:對所述可執(zhí)行程序進(jìn)行混淆或加密。
優(yōu)選地,在所述殼程序加載所述動態(tài)鏈接庫文件時,將所述動態(tài)鏈接庫文件解密到內(nèi)存中,并加載運(yùn)行。
本發(fā)明實(shí)施例提供一種基于殼技術(shù)的軟件保護(hù)裝置,其特征在于,包括:編譯模塊,用于將主程序編譯為動態(tài)鏈接庫文件,編寫殼程序,并將所述殼程序編譯生成可執(zhí)行程序;以及執(zhí)行模塊,耦合于所述編譯模塊,用于將所述主程序的運(yùn)行入口移入所述殼程序,執(zhí)行所述殼程序,并通過所述殼程序動態(tài)加載并運(yùn)行所述主程序。
優(yōu)選地,還包括:加密模塊,耦合于所述編譯模塊,用于通過計(jì)算機(jī)硬件指紋加密所述動態(tài)鏈接庫文件。
優(yōu)選地,所述計(jì)算機(jī)硬件指紋指的是計(jì)算機(jī)硬件信息中的識別號。
優(yōu)選地,所述加密模塊還用于對所述可執(zhí)行程序進(jìn)行混淆或加密。
優(yōu)選地,所述執(zhí)行模塊還用于在所述殼程序加載所述動態(tài)鏈接庫文件時,將所述動態(tài)鏈接庫文件解密到內(nèi)存中,并加載運(yùn)行。
本發(fā)明提供的基于殼技術(shù)的軟件保護(hù)裝置和方法,通過使用數(shù)字簽名、MSIL代碼混淆、加密等技術(shù),可以防止對軟件的非法拷貝,針對計(jì)算機(jī)硬件指紋授權(quán),對于網(wǎng)絡(luò)版,可以防止非本服務(wù)器的客戶端訪問服務(wù),實(shí)現(xiàn)了高強(qiáng)度的軟件保護(hù)。此外,由于使用自編的加殼技術(shù),加密技術(shù)可以自行設(shè)計(jì),并且可以隨時調(diào)整,而且,用戶數(shù)不多,因此,攻擊者比較少,用這種技術(shù)加密的軟件安全性也就相對更好。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一實(shí)施例提供的基于殼技術(shù)的軟件保護(hù)裝置的結(jié)構(gòu)示意圖。
圖2是本發(fā)明一實(shí)施例提供的基于殼技術(shù)的軟件保護(hù)方法的具體流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
該專利技術(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/201510019423.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 .通過限制訪問或處理程序或過程
- 防止技術(shù)開啟的鎖具新技術(shù)
- 技術(shù)評價(jià)裝置、技術(shù)評價(jià)程序、技術(shù)評價(jià)方法
- 防止技術(shù)開啟的鎖具新技術(shù)
- 視聽模擬技術(shù)(VAS技術(shù))
- 用于技術(shù)縮放的MRAM集成技術(shù)
- 用于監(jiān)測技術(shù)設(shè)備的方法和用戶接口、以及計(jì)算機(jī)可讀存儲介質(zhì)
- 用于監(jiān)測技術(shù)設(shè)備的技術(shù)
- 技術(shù)偵查方法及技術(shù)偵查系統(tǒng)
- 使用投影技術(shù)增強(qiáng)睡眠技術(shù)
- 基于技術(shù)庫的技術(shù)推薦方法
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動態(tài)惡意軟件分析來擴(kuò)展惡意軟件的動態(tài)檢測
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測驗(yàn)軟件的裝置與方法





