大(dà)家(jiā)都知道(dào):加密狗的加密及破解是相鋪相成的,要想加密得(de)好,就必須了解破解的流程及如何判斷破解的難易度。以下是幾種常用的判斷方法:
一、認識狗
加密狗從接口上(shàng)來(lái)區(qū)分的話(huà),可(kě)以分成,并口狗(早期的加密狗),usb口加密狗,串口加密狗(早期,以很(hěn)少(shǎo)見),pci加密卡。現在也有(yǒu)usb的加密卡,但(dàn)是這種并不多(duō)見。
加密狗從接口上(shàng)來(lái)區(qū)分的話(huà),可(kě)以分成,并口狗(早期的加密狗),USB口加密狗,串口加密狗(早期,以很(hěn)少(shǎo)見),PCI加密卡。現在也有(yǒu)USB的加密卡,但(dàn)是這種并不多(duō)見。
并口狗:最常見的有(yǒu)深思3,彩虹早期系列的加密狗,以及HASP系列的。
USB口加密狗:這個(gè)就很(hěn)普遍了,從現在的外殼鎖到智能鎖,幾乎90%都是USB接口。
串口加密狗:這個(gè)似乎我也隻見過幾個(gè)。
PCI加密卡:這個(gè)真的很(hěn)遺憾,我到目前為(wèi)止隻見過hasp 的加密卡
USB加密卡:這個(gè)我也隻在捕魚達人(rén)的機器(qì)上(shàng)見過。
從功能上(shàng)分可(kě)以分為(wèi):
普通(tōng)加密鎖:如:YT88 R2,R4,ET99等
智能加密狗:如:深思3,深思4,R6,ET199,ET299等
從破解難度上(shàng)來(lái)講,普通(tōng)加密鎖比智能加密鎖,要簡單的多(duō)。
至于區(qū)分是什麽加密狗,可(kě)以從以下幾個(gè)方面入手。
首先,外殼判斷,這個(gè)雖然不準确,但(dàn)是一般來(lái)說,可(kě)以看個(gè)大(dà)概。
其次,通(tōng)過驅動來(lái)判斷,如果需要驅動的加密鎖,直接看驅動也能看出來(lái)。
最有(yǒu)效,也最準确的辦法,看設備範例ID。不過需要對所有(yǒu)廠家(jiā)加密鎖的範例ID了如指掌才行(xíng)。
二、認識殼
按加密性質分又可(kě)以分為(wèi):狗殼和(hé)軟件殼。
所謂的狗殼。通(tōng)常指利用加密鎖內(nèi)的一些(xiē)算(suàn)法做(zuò)加密因子,來(lái)壓縮或者在指定程序上(shàng)的外殼。此類殼脫殼有(yǒu)相當一部分需要對應的加密鎖才能脫殼。
軟件殼
直接利用加殼軟件加的殼。
殼按加密類型分大(dà)緻可(kě)以分為(wèi):
壓縮殼和(hé)加密殼兩種。
壓縮殼:一般就是指對軟件資源等進行(xíng)壓縮,常見的壓縮殼如 UPX,ASPACK等,壓縮殼的強度一般比較低(dī),脫殼比較簡單。
加密殼:一般來(lái)說加密殼會(huì)對程序的區(qū)段,IAT等進行(xíng)加密,一般加密殼強度比壓縮殼高(gāo),當然也有(yǒu)很(hěn)強悍的加密殼。
說到殼,不得(de)不提到VM,VM 是進幾年才提出的一種新的加密方式,一般用法是把關鍵的代碼虛拟掉,這樣還(hái)原起來(lái)就相當困難。實際現在如果加過VM的程序,使用VM的作(zuò)者足夠強悍的話(huà),一般說來(lái)是很(hěn)難複原的。
三、查殼
首先,我們豐富的經驗的工程師(shī)一般用OD載入程序,就可(kě)以看出來(lái)是什麽殼。
如果是新手,常用的工具有(yǒu)PEID,FI 等。我們這裏就以PEID為(wèi)例來(lái)查殼。
運行(xíng)PEID
把要查殼的文件,拉到peid 裏,
如果出現:tElock 0.98b1 -> tE! 證明(míng)就是tElock 0.98b1 -> tE! 的殼
如果出現:Microsoft Visual C++ 7.0 [Debug] 證明(míng)就是無殼 vc7.0 寫的軟件,當然不排除僞裝殼的可(kě)能,這裏不做(zuò)介紹。
如果出現:Nothing found * 證明(míng)就是殼特征碼裏沒有(yǒu),不知道(dào)是什麽殼。
至于不知道(dào)是什麽殼的,這裏教個(gè)方法,當然這個(gè)方法,需要一定的經驗。看 ep section:
如:ep section:RCC1 這個(gè),就是宏狗的狗殼了。
四:查看內(nèi)嵌加密
分析加密點的個(gè)數(shù)、有(yǒu)沒有(yǒu)VM處理(lǐ),有(yǒu)多(duō)少(shǎo)函數(shù)需要修複。
弄清楚判斷破解的四點,對加密很(hěn)有(yǒu)好處,如果能把上(shàng)面的幾點在加密上(shàng)杜絕,那(nà)就真的是很(hěn)牛的一件事情了。