馬麗艷
【摘 要】計(jì)算機(jī)應(yīng)用軟件的安全性一直是整個(gè)社會(huì)關(guān)注的重點(diǎn),在計(jì)算機(jī)應(yīng)用軟件的開發(fā)和使用過程中,不少違法分子利用計(jì)算機(jī)技術(shù)對應(yīng)用軟件進(jìn)行破解、復(fù)制、重編、盜用等違法行為,對計(jì)算機(jī)應(yīng)用軟件的用戶造成了信息上的泄密以及經(jīng)濟(jì)上的重大損失,更有甚者直接盜用計(jì)算機(jī)應(yīng)用軟件開發(fā)信息中的編碼,重新編制成新的軟件,盜取軟件作者的工作努力成果,給整個(gè)軟件設(shè)計(jì)行業(yè)都造成了非常不利的影響。本文將對當(dāng)前計(jì)算機(jī)應(yīng)用軟件的常見保護(hù)方法以及破解方法進(jìn)行具體的分析和討論。
【關(guān)鍵詞】計(jì)算機(jī)應(yīng)用軟件 ? ?保護(hù) ? ? 破解
隨著計(jì)算機(jī)技術(shù)逐漸在人們工作和生活過程中的普及應(yīng)用,計(jì)算機(jī)應(yīng)用軟件成為人們生活和工作過程中不可或缺的管理和游戲工具,對提高其工作質(zhì)量和工作效率發(fā)揮了非常積極的作用。然而正因?yàn)檐浖谌藗児ぷ鬟^程中的便利性和擴(kuò)散性,不少違法分子打起了計(jì)算機(jī)應(yīng)用軟件盜版買賣的主義,通過對計(jì)算機(jī)應(yīng)用軟件保護(hù)方法的破解以及翻新,盜版原計(jì)算機(jī)應(yīng)用軟件設(shè)計(jì)者的勞動(dòng)成果,給計(jì)算機(jī)正版應(yīng)用軟件的開發(fā)商和使用者都造成了一定的經(jīng)濟(jì)損失,給整個(gè)計(jì)算機(jī)應(yīng)用軟件行業(yè)也造成了非常不利的影響。筆者希望在此對計(jì)算機(jī)應(yīng)用軟件的常用保護(hù)方法和破解方法進(jìn)行分析,呼吁計(jì)算機(jī)應(yīng)用軟件的用戶能夠支持正版軟件,杜絕盜版軟件的交易行為,從一定程度上降低盜版軟件工作者的經(jīng)濟(jì)利益,從而有效減少盜版軟件行為的發(fā)生。
1 計(jì)算機(jī)應(yīng)用軟件的常見保護(hù)方法
計(jì)算機(jī)應(yīng)用軟件的常見保護(hù)方法包括注冊碼或者邀請碼的保護(hù)方法、計(jì)算機(jī)應(yīng)用軟件的自身加密保護(hù)方法以及第三方軟件對其軟件提供的保護(hù)方法三種。但是要注意的是,從理論上來講,對計(jì)算機(jī)應(yīng)用軟件施行的保護(hù)方式都是一種可逆的過程,即任何一種計(jì)算機(jī)應(yīng)用軟件保護(hù)方法從理論上來講都是可以被破解的,計(jì)算機(jī)應(yīng)用軟件設(shè)計(jì)者應(yīng)該注意通過對三種保護(hù)方法的綜合運(yùn)用,加強(qiáng)盜版者軟件破解的工作難度,使其能夠知難而退,進(jìn)而減少因?yàn)橛?jì)算機(jī)應(yīng)用軟件被破解而造成的自身經(jīng)濟(jì)上的損失。
1.1注冊碼保護(hù)方式
注冊碼或者邀請碼的保護(hù)方式是當(dāng)前計(jì)算機(jī)應(yīng)用軟件最常見也是最普遍的保護(hù)方法之一,包括激活碼的保護(hù)方式在內(nèi),這種類型的計(jì)算機(jī)應(yīng)用軟件保護(hù)方法是通過限制計(jì)算機(jī)應(yīng)用軟件的傳播過程和傳播方式來降低計(jì)算機(jī)應(yīng)用軟件的盜版概率。具體來講,計(jì)算機(jī)應(yīng)用軟件的注冊碼保護(hù)方式的技術(shù)原理是通過不同電腦在安裝計(jì)算機(jī)應(yīng)用軟件過程中顯示出來的不同計(jì)算機(jī)生產(chǎn)硬件編號(hào)(例如計(jì)算機(jī)硬件中的CPU序列號(hào)或者硬盤卷標(biāo)號(hào)等)來保證只有這一臺(tái)電腦才符合計(jì)算機(jī)應(yīng)用軟件的安裝要求,而其他計(jì)算機(jī)應(yīng)用軟件必須在付費(fèi)或者滿足其他要求以后才能安裝計(jì)算機(jī)應(yīng)用軟件,同時(shí)也不會(huì)因?yàn)樵陔娔X上的計(jì)算機(jī)應(yīng)用軟件復(fù)制和轉(zhuǎn)移功能就完成計(jì)算機(jī)應(yīng)用軟件在不同電腦上的傳播。同時(shí),如果有新的計(jì)算機(jī)用戶想要安裝和使用該計(jì)算機(jī)應(yīng)用軟件,就必須向計(jì)算機(jī)應(yīng)用軟件的開發(fā)商購買相應(yīng)的軟件注冊碼才能保證計(jì)算機(jī)應(yīng)用軟件功能的正常發(fā)揮。
1.2加密保護(hù)方式
計(jì)算機(jī)應(yīng)用軟件的加密保護(hù)方式可以分為軟加密保護(hù)方式以及硬加密保護(hù)方式兩種,其具體包括以下內(nèi)容:
1.2.1軟加密保護(hù)方式
軟加密保護(hù)方式是一種依靠計(jì)算機(jī)軟件自身加密從而形成對軟件保護(hù)力量的方式,不依靠計(jì)算機(jī)硬件的保護(hù),具有成本較低、流程簡單的特點(diǎn)。由于其依靠計(jì)算機(jī)應(yīng)用軟件自身的計(jì)算方法和加密特點(diǎn)以及其對軟件開發(fā)程序中某一項(xiàng)結(jié)構(gòu)的依賴性作為自身保護(hù)過程中的加密力量,因此從理論上來說是較為難以破解的一種計(jì)算機(jī)應(yīng)用軟件加密保護(hù)方式。常見的計(jì)算機(jī)應(yīng)用軟件類型包括Windows系統(tǒng)、諸多系統(tǒng)安全軟件以及殺毒軟件等等。而常見的軟加密保護(hù)方法則包括密碼保護(hù)方法、計(jì)算機(jī)硬件檢驗(yàn)方法以及鑰匙盤保護(hù)方法等等,外殼保護(hù)方法是當(dāng)前常見的計(jì)算機(jī)應(yīng)用軟件軟加密保護(hù)方式。
外殼加密保護(hù)方法指的是通過利用堆棧平衡原理修改計(jì)算機(jī)應(yīng)用軟件程序入口處的代碼,使其能夠跳轉(zhuǎn)到殼代碼執(zhí)行解密程序,將原有程序的代碼解密完畢以后再跳回到原程序的OEP繼續(xù)執(zhí)行保護(hù)功能。外殼加密保護(hù)方法的這種特性使得程序入口的代碼始終處在不停的位置變化過程中,只有在需要軟件開口的時(shí)候才會(huì)發(fā)揮程序出口的解密功能。計(jì)算機(jī)應(yīng)用軟件的開發(fā)設(shè)計(jì)師還能夠結(jié)合多次外殼加密的方式來實(shí)行殼外有殼的加密保護(hù)方式,進(jìn)一步增強(qiáng)了計(jì)算機(jī)應(yīng)用軟件的安全性。
1.2.2硬加密保護(hù)方式
計(jì)算機(jī)應(yīng)用軟件的硬加密保護(hù)方式則指的是通過加密狗、加密鎖或者加密光盤以及其他加密硬件與計(jì)算機(jī)USB接口連接過程中硬件與軟件的有效結(jié)合而形成相應(yīng)的計(jì)算機(jī)應(yīng)用軟件保護(hù)技術(shù)。當(dāng)前常用的計(jì)算機(jī)應(yīng)用軟件硬加密保護(hù)方式是USB接口的加密狗保護(hù)方式。計(jì)算機(jī)應(yīng)用軟件的硬加密保護(hù)方式相較于軟加密保護(hù)方式來說具有更強(qiáng)的保護(hù)性能,由于其必須需要根據(jù)加密狗內(nèi)部的程序來實(shí)現(xiàn)與計(jì)算機(jī)軟件程序的有效聯(lián)合才能打開計(jì)算機(jī)應(yīng)用軟件的使用功能,因此想要單方面依靠計(jì)算機(jī)應(yīng)用軟件或者加密狗來實(shí)現(xiàn)對計(jì)算機(jī)應(yīng)用軟件的破解幾乎是不可能的事情。
1.3第三方軟件保護(hù)方式
第三方軟件保護(hù)方式是指通過第三方軟件的保護(hù)性能來對已有的計(jì)算機(jī)應(yīng)用軟件提供保護(hù)的方式。這種類型的保護(hù)方式常見于低檔軟件或者加密運(yùn)行的電腦程序中,由于其較為容易被破解,因此不能作為計(jì)算機(jī)應(yīng)用軟件的常用保護(hù)方法。
2 計(jì)算機(jī)應(yīng)用軟件的常見破解方式
2.1暴力破解方式
暴力破解方式是計(jì)算機(jī)應(yīng)用軟件破解過程中最常見也是最普通的方式,其顧名思義是采用一種類似于暴力的破解方式來完成對計(jì)算機(jī)應(yīng)用軟件的破解。其具體過程是通過相應(yīng)的鍵盤掃描儀器來完成對計(jì)算機(jī)鍵盤上所有可能是軟件開啟密碼的鍵位進(jìn)行掃描以及測試,直到測試的密碼與計(jì)算機(jī)應(yīng)用軟件的密碼相符合為止。暴力破解方式在面對計(jì)算機(jī)應(yīng)用軟件的簡單或者中等程度的密碼破解時(shí)非常有效,能夠通過專業(yè)鍵盤掃描儀器的使用在幾分鐘內(nèi)就完成對所有鍵位的掃描和測試工作。因此用戶在設(shè)置計(jì)算機(jī)應(yīng)用軟件的密碼時(shí)候最好加上部分特殊符號(hào),增大暴力破解方式的應(yīng)用難度。
2.2注冊算法破解方式
注冊算法的破解方式是指通過算法注冊機(jī)在計(jì)算機(jī)應(yīng)用軟件安全的過程中自動(dòng)生成的注冊碼的破解方式。這種破解方式的使用要求其使用人員必須能夠掌握計(jì)算機(jī)應(yīng)用軟件開發(fā)過程中的注冊碼計(jì)算方法。這種破解方式給注冊碼以及邀請碼保護(hù)方式的計(jì)算機(jī)應(yīng)用軟件破解過程造成了很大的威脅。
2.3內(nèi)存破解方式
內(nèi)存破解方式是指通過對計(jì)算機(jī)電腦的內(nèi)存進(jìn)行讀取,對其內(nèi)存中存在的數(shù)據(jù)進(jìn)行收集、分析、分類以及處理,直到探測出內(nèi)存中存在的計(jì)算機(jī)應(yīng)用軟件的注冊碼為止。因?yàn)橛?jì)算機(jī)應(yīng)用軟件的注冊碼常常被存儲(chǔ)在計(jì)算機(jī)內(nèi)存中,所以在內(nèi)存破解方式的使用過程中,相關(guān)人員不需要了解計(jì)算機(jī)應(yīng)用軟件的注冊碼計(jì)算方式,只需要找到計(jì)算機(jī)的物理內(nèi)存位置并檢測到計(jì)算機(jī)應(yīng)用軟件的注冊碼信息就行。這種破解方式對注冊碼以及邀請碼保護(hù)類型的應(yīng)用軟件也造成了很大的威脅。
2.4補(bǔ)丁文件破解方式
補(bǔ)丁文件破解方式是指通過設(shè)計(jì)好的補(bǔ)丁文件對計(jì)算機(jī)應(yīng)用程序的文件進(jìn)行覆蓋、修改以及封裝,完全形成一個(gè)新的計(jì)算機(jī)應(yīng)用軟件開啟程序,跳過了破解過程中諸多復(fù)雜的算法以及檢測過程。
3.結(jié)語
本文對計(jì)算機(jī)應(yīng)用軟件的常用保護(hù)方法和破解方法進(jìn)行了具體地闡釋,計(jì)算機(jī)應(yīng)用軟件的設(shè)計(jì)者應(yīng)該綜合應(yīng)用各種保護(hù)方法,注意可能被破解方法中利用的地方,由自身做起,做好計(jì)算機(jī)應(yīng)用軟件程序的保護(hù)工作。
【參考文獻(xiàn)】
[1]馬博琴.計(jì)算機(jī)應(yīng)用軟件的保護(hù)與破解[J].消費(fèi)電子,2014(6):184-185.
[2]謝秋蓮,張雪.淺談商用軟件的加密及保護(hù)技術(shù)[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2011(14):142.
[3]周書鋒,孫玉真.基于RSA數(shù)字簽名的軟件保護(hù)方案[J].計(jì)算機(jī)應(yīng)用與軟件,2008(3):35-37.