當(dāng)前位置: 首頁(yè) > 新聞動(dòng)態(tài) > 新聞詳情
開(kāi)發(fā)軟件時(shí),尤其當(dāng)用到商業(yè)用途時(shí),注冊(cè)碼和激活碼是非常重要的,未注冊(cè)的用戶(hù)會(huì)加上某些限制,如使用天數(shù),延遲,未注冊(cè)畫(huà)面等等。但是現(xiàn)在的軟件破解技術(shù)十分強(qiáng)大,各種國(guó)內(nèi)外大型軟件都有注冊(cè)機(jī)制,卻同時(shí)也不斷地被破解,國(guó)家一再加大力度,打擊非法軟件出版物,扶持正版軟件,但實(shí)際效果并不理想。大多的軟件商選擇了購(gòu)買(mǎi)加密產(chǎn)品或者加密技術(shù)來(lái)保護(hù)自己的軟件,軟件保護(hù)一般分為軟加密和硬加密。

常見(jiàn)的軟件保護(hù)方法
1.注冊(cè)碼。軟件的注冊(cè)碼一般都是一機(jī)一個(gè),不能重復(fù)。下面我們來(lái)看看如何實(shí)現(xiàn)的。
第一步根據(jù)硬盤(pán)卷標(biāo)和cpu序列號(hào),生成機(jī)器碼,首先編寫(xiě)public static string getdiskvolumeserialnum-ber()函數(shù)取得設(shè)備硬盤(pán)的卷標(biāo)號(hào),其次編寫(xiě)public static string getcpu()函數(shù)獲得cpu的序列號(hào),最后生成機(jī)器碼,函數(shù)如下:
string number; string public static string getsoftnum()
{strnum-=getcpu+getdiskvolumeserial-strsoftnum=strnum.substring(0, 24);//從生成的字符串中取出前24個(gè)字符做為機(jī)器碼return strsoftnum; }
第二步根據(jù)機(jī)器碼生成注冊(cè)碼,需要編寫(xiě)public static string getregistnum()函數(shù)來(lái)實(shí)現(xiàn)。
第三步。檢查注冊(cè)狀況,若沒(méi)有注冊(cè),可自定義試用天數(shù),延遲,未注冊(cè)畫(huà)面等等,可編寫(xiě)private void checkregist0 cpl數(shù)來(lái)實(shí)現(xiàn)。
2.軟加密。所謂軟加密就是不依靠特別硬件來(lái)實(shí)現(xiàn)的對(duì)軟件的保護(hù)技術(shù)。當(dāng)前國(guó)際上比較通用的軟件都采取軟加密的方式,例如微軟的windows系統(tǒng)、殺毒軟件等,它的最大優(yōu)勢(shì)在于極低的加密成本。目前主要有密碼法、計(jì)算機(jī)硬件校驗(yàn)法、鑰匙盤(pán)法等。目前比較流行的是使用外殼,外殼分為壓縮殼和加密殼,其中壓縮殼的保護(hù)性比較弱,所以一般采用加密殼,其原理是利用堆棧平衡原理,修改程序人口處代碼,使其跳轉(zhuǎn)到殼代碼執(zhí)行解密程序,將原程序代碼解密后跳回原程序的oep繼續(xù)執(zhí)行。目前比較強(qiáng)的加密殼采用的是動(dòng)態(tài)解密代碼、smc , iat加密技術(shù),程序在運(yùn)行過(guò)程中動(dòng)態(tài)解密代碼,執(zhí)行完畢后立刻刪除,并且對(duì)iat加密,當(dāng)需要調(diào)用api時(shí)用解密算法算出api的實(shí)際地址來(lái)調(diào)用,更有甚者,殼里有殼。目前常見(jiàn)的比較強(qiáng)的5大殼有:( i ) encryptpe,其特點(diǎn)是對(duì)iat加密比較強(qiáng),( 2 ) asprotect,其特點(diǎn)是采用多層seh,很容易把人轉(zhuǎn)暈,( 3) acprotect,其特點(diǎn)是采用stolen code的辦法,( 4 ) armadillo,其特點(diǎn)是雙進(jìn)程互相檢測(cè),(5)themida,其特點(diǎn)是采用虛擬機(jī)技術(shù)。好的加密效果在于讓盜版者在破解被保護(hù)的軟件時(shí),付出巨大的代價(jià),耗費(fèi)極大的時(shí)間精力,最終被迫放棄攻擊。
3.硬加密。硬加密就是我們所說(shuō)的加密狗或加密鎖,是一種插在計(jì)算機(jī)usb口或并口上的軟硬件結(jié)合的加密產(chǎn)品,目前絕大部分都是usb口形式,是基于硬件保護(hù)技術(shù),其目的是通過(guò)對(duì)軟件與數(shù)據(jù)的保護(hù)防止知識(shí)產(chǎn)權(quán)被非法使用,是保證高檔軟件在市場(chǎng)生命周期中免受盜版侵害的功能強(qiáng)大的工具。加密狗一般都有幾十或幾百字節(jié)的非易失性存儲(chǔ)空間可供讀寫(xiě),現(xiàn)在較新的狗內(nèi)部還包含了單片機(jī)。軟件開(kāi)發(fā)者可以通過(guò)接口函數(shù)和軟件狗進(jìn)行數(shù)據(jù)交換,來(lái)檢查軟件狗是否插在接口上。加密狗內(nèi)置的單片機(jī)里包含有專(zhuān)用于加密的算法軟件,該軟件被寫(xiě)人單片機(jī)后,就不能再被讀出。這樣,就保證了加密狗硬件不能被復(fù)制。同時(shí),加密算法是不可預(yù)知、不可逆的。加密算法可以把一個(gè)數(shù)字或字符變換成一個(gè)整數(shù)。

結(jié)束語(yǔ)
軟件破解和軟件加密就是矛和盾的關(guān)系,好的加密效果在于讓盜版者在破解被保護(hù)的軟件時(shí),付出巨大的代價(jià),耗費(fèi)極大的時(shí)間精力,最終被迫放棄攻擊。最后我們要認(rèn)識(shí)到軟件破解是不道德的,是違法《計(jì)算機(jī)軟件保護(hù)條例》的,現(xiàn)如今軟件的大眾化、市場(chǎng)化,低價(jià)化,也讓我們有機(jī)會(huì)有能力去使用正版軟件,所以我們要提高覺(jué)悟,力所能及的不使用盜版,以實(shí)際行動(dòng)支持中國(guó)的軟件行業(yè)發(fā)展。
上一頁(yè):軟件加密保護(hù)技術(shù)簡(jiǎn)介
下一頁(yè):加密軟件的作用及優(yōu)缺點(diǎn)