亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

軟件代碼加密方法

文檔序號:6335762閱讀:722來源:國知局
專利名稱:軟件代碼加密方法
技術(shù)領(lǐng)域
本發(fā)明涉及加密技術(shù),具體的說是涉及一種軟件代碼加密方法。
背景技術(shù)
目前各廠家花大量精力、人力開發(fā)出來的軟件代碼,開機LOGO都有一定的規(guī)律可 循,很容易被一些小公司、非法商家描板,軟件代碼更換為自己的LOGO后盜版。傳統(tǒng)技術(shù)中 對軟件代碼的加密有兩種方式,其中一種為硬件加密,即增加加密芯片,該方式明顯增加了 整機成本,而且要對加密后的數(shù)據(jù)進行恢復(fù)還需要增加解密芯片,無疑又增加了一項成本; 另外一種方式為軟件加密,其是通過對由二進制代碼構(gòu)成的程序進行指定數(shù)據(jù)部分或全部 數(shù)據(jù)按一定的算法計算出校驗碼放在程序最后,在設(shè)備開機時,首先判斷校驗碼是否正確, 正確才正常啟動,不正確就無法正常開機,此方法未對二進制代碼本身進行加密,容易被破 解,一般廠家可以更改代碼中有一定數(shù)據(jù)特征的數(shù)據(jù)(如開機LOGO、按鍵碼、遙控碼等)找 出校驗碼就可以變成自己的軟件使用,達不到防盜版的目的。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提出一種軟件代碼加密方法,針對軟件代碼本身 進行加密,解決傳統(tǒng)技術(shù)中加密成本高、容易被破解的問題。本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案是軟件代碼加密方法,包括以下步 驟a.按二進制格式打開需加密的文件,新建加密后的輸出文件;b.判斷需加密的文件指針是否到到達該文件結(jié)束的地址,是則執(zhí)行步驟g,否則 執(zhí)行步驟c ;c.從需加密的文件讀取一個字節(jié)的數(shù)據(jù)和當(dāng)前指針的地址;d.判斷當(dāng)前指針是否到達起始加密的地址,是則執(zhí)行步驟e,否則執(zhí)行步驟f ;e.對該數(shù)據(jù)進行加密,并將加密后的數(shù)據(jù)寫入輸出文件,返回步驟b ;f.將該數(shù)據(jù)直接寫入輸出文件,返回步驟b ;g.關(guān)閉需加密的文件,結(jié)束。進一步,所述步驟e中,對該數(shù)據(jù)的高四位和低四位按照不同的加密算法進行加

r t [ ο本發(fā)明的有益效果是對軟件代碼本身進行加密,加密的同時不增加硬件成本,自 主加密,保密性更高,代碼不易被破解,防止盜版,保護開發(fā)者的知識產(chǎn)權(quán)。


圖1為本發(fā)明的方法流程圖。。
具體實施例方式下面結(jié)合附圖對本發(fā)明作進一步的描述。本發(fā)明公開了一種軟件代碼加密方法,針對軟件代碼本身進行加密,解決傳統(tǒng)技 術(shù)中加密成本高、容易被破解的問題。相對于傳統(tǒng)技術(shù)其改進點在于對軟件代碼本身進行 加密,不增加硬件成本,采用自主加密,保密性更高,代碼不易被破解,防止盜版,保護開發(fā) 者的知識產(chǎn)權(quán)。在解密方面,只需要在程序中設(shè)計針對加密算法的解密算法即可。如圖1所示,軟件代碼加密方法,包括以下步驟a.按二進制格式打 開需加密的文件,新建加密后的輸出文件;b.判斷需加密的文件指針是否到到達該文件結(jié)束的地址,是則執(zhí)行步驟g,否則 執(zhí)行步驟c ;c.從需加密的文件讀取一個字節(jié)的數(shù)據(jù)和當(dāng)前指針的地址;d.判斷當(dāng)前指針是否到達起始加密的地址,是則執(zhí)行步驟e,否則執(zhí)行步驟f ;e.對該數(shù)據(jù)進行加密,并將加密后的數(shù)據(jù)寫入輸出文件,返回步驟b ;f.將該數(shù)據(jù)直接寫入輸出文件,返回步驟b ;g.關(guān)閉需加密的文件,結(jié)束。實施例本例主要針對步驟e中的加密方式進行說明,為了增加加密后的程序保密性,可 采用對數(shù)據(jù)的高位和地位不同的加密算法進行加密的方式。對數(shù)據(jù)的高四位采用變址算 法,對數(shù)據(jù)的低四位采用自定義算法,現(xiàn)具體說明如下(1)高位變址自定義加密法1.用戶用O-F的數(shù)每行任意安排位置,完全自主定義一個二維數(shù)組;Usertblh [4] [16] = {A, B,8,9,E, F, C, D,2,3,0,1,6,7,4,5,B, A,9,8,F(xiàn), Ε, D, C,3,2,1,0,7,6,5,4,Ε, F, C, D, A, B,8,9,6,7,4,5,2,3,0,1,F(xiàn), Ε, D, C, B, D,9,8,7,6,5,4,3,2,1,0};2.根據(jù)讀取數(shù)據(jù)的地址用128除,取整除后的余數(shù),余數(shù)除16如果除16后的商 為0、2,加密后的數(shù)就是用戶指定義二維數(shù)組的第一行的加密前的高四位對應(yīng)列的數(shù)據(jù) (Usertblh
[(Data&OxfO) >>4]);如果除16后的商為1、3,加密后的數(shù)就是用戶指定 義二維數(shù)組的第二行的加密前的高四位對應(yīng)列的數(shù)據(jù)(Usertblh[1] [(Data&OxfO) >> 4]);如果除16后的商為4、6,加密后的數(shù)就是用戶指定義二維數(shù)組的第三行的加密前的 高四位對應(yīng)列的數(shù)據(jù)(Usertblh[2] [(Data&OxfO) >>4]);如果除16后的商為5、7,加密 后的數(shù)就是用戶指定義二維數(shù)組的第四行的加密前的高四位對應(yīng)列的數(shù)據(jù)(Usertblh[3] [(Data&OxfO) >> 4])。加密前相同數(shù)據(jù)由于地址不同,加密算法不一樣,加密后的數(shù)據(jù)就 不一樣。(2)低位自定義加密法1.用戶用O-F的不同數(shù)任意安排位置,完全自主定義一個一維數(shù)組UsertblL[16] = {5,4,7,6,1,0,3,2,D,C,F(xiàn),E,9,8,B,Α};
2.根據(jù)讀取的數(shù)據(jù),用第四位查表UsaertblL轉(zhuǎn)換位加密數(shù)據(jù) (Usertbll [Data&0x0f])o加密前后數(shù)據(jù)完全不一樣。例1 對地址為0x80的數(shù)據(jù)0x55加密,步驟如下
1. 0x80除128余數(shù)為0,0除16的商為0 ;2.高四位(5)采用高位變址自定義加密法,由于地址用128除,取整除后的余數(shù), 余數(shù)除16的商為0,加密后的數(shù)就為OxF(Usertblh
[5]);3.低四位(5)采用低位自定義加密后的數(shù)就為0x0 (UsertblL [5]);4.加密后數(shù)據(jù)變?yōu)镺xFO ;例2 對地址為0x90的數(shù)據(jù)0x55加密,步驟如下1. 0x80除128余數(shù)為16,16除16的商為1 ;2.高四位(5)采用高位變址自定義加密法,由于地址用128除,取整除后的余數(shù), 余數(shù)除16的商為1,加密后的數(shù)就為OxE(Usertblh[1] [5]);3.低四位(5)采用低位自定義加密后的數(shù)就為0x0 (UsertblL [5]);4.加密后數(shù)據(jù)變?yōu)镺xEO ;從例1、2可以看出相同的數(shù)據(jù)加密后由于地址不一樣,0x55當(dāng)?shù)刂窞?x80時加密 后的數(shù)是OxFO,當(dāng)?shù)刂窞?x90時加密后的數(shù)就是OxEO。
權(quán)利要求
軟件代碼加密方法,其特征在于包括以下步驟a.按二進制格式打開需加密的文件,新建加密后的輸出文件;b.判斷需加密的文件指針是否到到達該文件結(jié)束的地址,是則執(zhí)行步驟g,否則執(zhí)行步驟c;c.從需加密的文件讀取一個字節(jié)的數(shù)據(jù)和當(dāng)前指針的地址;d.判斷當(dāng)前指針是否到達起始加密的地址,是則執(zhí)行步驟e,否則執(zhí)行步驟f;e.對該數(shù)據(jù)進行加密,并將加密后的數(shù)據(jù)寫入輸出文件,返回步驟b;f.將該數(shù)據(jù)直接寫入輸出文件,返回步驟b;g.關(guān)閉需加密的文件,結(jié)束。
2.如權(quán)利要求1所述的軟件代碼加密方法,其特征在于所述步驟e中,對該數(shù)據(jù)的高 四位和低四位按照不同的加密算法進行加密。
全文摘要
本發(fā)明涉及加密技術(shù),其公開了一種軟件代碼加密方法,針對軟件代碼本身進行加密,解決傳統(tǒng)技術(shù)中加密成本高、容易被破解的問題。其技術(shù)方案的要點包括以下步驟a.按二進制格式打開需加密的文件,新建加密后的輸出文件;b.判斷需加密的文件指針是否到到達該文件結(jié)束的地址,是則執(zhí)行步驟g,否則執(zhí)行步驟c;c.從需加密的文件讀取一個字節(jié)的數(shù)據(jù)和當(dāng)前指針的地址;d.判斷當(dāng)前指針是否到達起始加密的地址,是則執(zhí)行步驟e,否則執(zhí)行步驟f;e.對該數(shù)據(jù)進行加密,并將加密后的數(shù)據(jù)寫入輸出文件,返回步驟b;f.將該數(shù)據(jù)直接寫入輸出文件,返回步驟b;g.關(guān)閉需加密的文件,結(jié)束。本發(fā)明適用于軟件代碼加密。
文檔編號G06F21/24GK101980239SQ20101054168
公開日2011年2月23日 申請日期2010年11月12日 優(yōu)先權(quán)日2010年11月12日
發(fā)明者李前富 申請人:四川長虹電器股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1