發(fā)布源:深圳維創(chuàng)信息技術(shù)發(fā)布時(shí)間:2021-01-06 瀏覽次數(shù): 次
加密軟件,需要開發(fā),則需要很好的軟件加密技術(shù)。
加密軟件主要運(yùn)用那些加密技術(shù)?它又有哪幾種?軟件加密技術(shù)主要由密鑰技術(shù)、反跟蹤技術(shù)和代碼插入技術(shù)構(gòu)成,缺一不可。
下面不妨跟小編詳細(xì)了解一下加密軟件的加密技術(shù)。
一 密鑰技術(shù)
密鑰技術(shù)是指與密鑰有關(guān)的全部技術(shù),如密鑰盤的制作、識(shí)別密鑰盤、安裝和回收密鑰等。
密鑰的特點(diǎn)就是不能或者不容易復(fù)制。
密鑰主要分軟盤、加密卡和并行口加密盒(也稱"軟件狗")。
這三種密鑰的特點(diǎn)如下。
軟盤加密卡加密盒
成本低高較低
可靠性一般穩(wěn)定穩(wěn)定
易安裝性不需要安裝復(fù)雜容易
使用方便性不方便方便方便
系統(tǒng)開銷別時(shí)需要插盤占擴(kuò)展槽和地址空間并行口
產(chǎn)品盤備份不能可以可以
由上表可見,三種密鑰各有千秋.可以根據(jù)不同的需求選用。
比如,對(duì)于一般的小型的軟件來說,由于成本問題,選用軟盤密鑰的加密軟件合適一些。
我們來看一下軟盤密鑰的原理和制作的方法
在軟盤上制作密鑰的技術(shù)有很多種。
早的FROLOK是用激光在軟盤上打孔,在軟l制作無法復(fù)制的硬錯(cuò)誤。
還可以在軟盤上制作弱位。
軟盤上的信息是二進(jìn)制,即0與1.但弱位不是0也不是1——有時(shí)是0,有時(shí)是1,這種信息用計(jì)算機(jī)無法復(fù)制。
目前,加密軟件主要采用道縫加密。
將數(shù)據(jù)寫到某一格式化過的扇區(qū)時(shí),因?yàn)椴煌拇疟P機(jī)會(huì)有轉(zhuǎn)速的差別,因此數(shù)據(jù)寫完后不可能與下一個(gè)扇區(qū)連接得無縫隙,而且這縫隙中會(huì)出現(xiàn)一些噪音信號(hào)。
利用這種噪音信號(hào)來作為辨別是否是原盤的依據(jù)。
這種方式可使目前所有拷貝程序(包括拷貝卡)都無法復(fù)翩。
具體地說,由于磁道是圓形的.因此必然有頭尾相接的地方,用這種接縫作為"指紋"來模仿PROLOK所用的激光孔"指紋",可使每片母盤都不同·母盤的辨認(rèn)程序的細(xì)節(jié)也會(huì)不同,制作方法簡(jiǎn)要說明如下:
1. 將格式化磁道的參數(shù)表中后一個(gè)扇區(qū)N置為6;
2. 用INT 13H格式化一個(gè)磁道(實(shí)際上還是用正常大小恪式化,第一步的結(jié)果只是改動(dòng)了后一個(gè)扇區(qū)的地址場(chǎng));
3. 把INT 1EH指向的參數(shù)表中的N改為6;
4. 讀后一個(gè)扇區(qū),就可把接縫讀出來(此時(shí)錯(cuò)誤號(hào)為10H).
5. 把INT 1EH指向的參數(shù)表中N恢復(fù)為2;
不同的盤、不同的磁道,制作出來的密鑰是不同的。
二 反跟蹤技術(shù)
有了好的密鑰技術(shù),沒有強(qiáng)有力的反跟蹤手段來保護(hù)它,解密者使用功能強(qiáng)大的調(diào)試器和一些輔助工具來破譯,幾分鐘就可以解開,達(dá)不到保護(hù)的目的。
反跟蹤技術(shù)是加密軟件關(guān)鍵、工作量大的部分,同時(shí)也是加密技術(shù)不、斷推陳出新、永無止境的原因。
反跟蹤的手段主要有以下幾種:一種方法是把程序?qū)憗y或使用高級(jí)語言生成代碼,使代碼雜亂無章,跟蹤者不容易看懂。
另一種方法是主動(dòng)出擊,設(shè)置陷阱,讓調(diào)試器不能正常工作,如破壞INT 3和INT1的中斷向量,讓DEBUG不能工作。
識(shí)別調(diào)試器的存在情況,讓程序走岔道。
還有一種方法是做大量變形和和跳轉(zhuǎn)、拖垮對(duì)手。
比如說,在BITLOK使用了加密虛擬饑、多層間址多堆棧鏈接等反跟蹤技術(shù)。
具體方法是:設(shè)計(jì)一個(gè)加密虛擬機(jī)。
虛擬機(jī)指令用INTEL 80*86的指令來仿真。
加密程序使用虛擬機(jī)指令;而且加上多層間址多堆棧鏈接等大工作量的操作,跟蹤者即使看懂虛擬機(jī)指令,也容易被拖垮。
就未來的加密軟件而言,重要的是如何保護(hù)算法,那么反跟蹤技術(shù)顯得更為重要。
三、代碼插入技術(shù)
加密的核心代碼寫好以后,剩下的工作是如何把這些代碼插入到被加密的程序中,插入加密代碼的方式較多,但首先必須了解DOS的執(zhí)行文件格式。
插入方式主要有內(nèi)含式、外殼式、結(jié)合式。
內(nèi)含方式把插入代碼附加在文件尾部·把程序的入口點(diǎn)改到插入代碼中,DOS依然使用EXEC(iNT 21H,功能4Bh)來執(zhí)行被加密程序。
(這種方法也是病毒傳染的常用方法。
)這種方法實(shí)現(xiàn)起來簡(jiǎn)單.但有很上的局限:無法插入到帶覆蓋模塊的程序中,無法有效地解決EXE文件的代碼變形問題。
外殼方式采用的是另外一種方法。
它首先將原來的執(zhí)行文件.比如說sample.exe變形為sample.ovl,插入代碼將sample.exe看成覆蓋模塊,插入代碼給自己取名為sample.exe,由sample.exe調(diào)用sample.exe,并決定sample.exe的裝載和重定位方式(包括在裝載過程中將被變形的代碼復(fù)原)。
在windows上開發(fā)加密軟件與DOS上的基本原理是一到致的,但具體實(shí)觀上有較大的差別。
同是加密軟件的視頻加密領(lǐng)域的視頻加密軟件,也是一款優(yōu)秀的視頻加密軟件,能夠全面保護(hù)視頻安全,不被翻錄和破解。
Copyright © 2021 深圳市維創(chuàng)信息技術(shù)有限公司 版權(quán)所有