一切從“殼”開始
吳朝相 1999.2.23
我寫這篇東西的主要目的是讓初到本站的新手們能對“殼”有個(gè)大概的認(rèn)識,知道我每天說了些什么。限于本人的知識,如果有 ERROR 之處,還請多原諒。如果你覺得還可以, 也歡迎轉(zhuǎn)貼,但請保留文章的完整性和作者的資料。當(dāng)然如果你想把它發(fā)表,硬塞些稿費(fèi)給 俺花花,我也不會(huì)拒絕的。;)
作為一個(gè)以“殼”為主的站臺,如果連訪者連什么是“殼”都不清楚的話,那我也太失敗了。很早以前就想寫編完全關(guān)于“殼”的文章,但苦于時(shí)間和文字水平的關(guān)系,都沒提筆。本著對站臺負(fù)責(zé)的態(tài)度,現(xiàn)在經(jīng)過一天的努力,“打”出這編嘗試由殼的歷史一直談到最新發(fā)展的本章來。
首先我想大家應(yīng)該先明白“殼”的概念。在自然界中,我想大家對殼這東西應(yīng)該都不會(huì)陌生了,植物用它來保護(hù)種子,動(dòng)物用它來保護(hù)身體等等。同樣,在一些計(jì)算機(jī)軟件里也有一段專門負(fù)責(zé)保護(hù)軟件不被非法修改或反編譯的程序。它們一般都是先于程序運(yùn)行,拿到控制權(quán),然后完成它們保護(hù)軟件的任務(wù)。就像動(dòng)植物的殼一般都是在身體外面一樣理所當(dāng)然(但后來也出現(xiàn)了所謂的“殼中帶籽”的殼)。由于這段程序和自然界的殼在功能上有很多相同的地方,基于命名的規(guī)則,大家就把這樣的程序稱為“殼”了。就像計(jì)算機(jī)病毒和自然界的病毒一樣,其實(shí)都是命名上的方法罷了。
最早提出“殼”這個(gè)概念的,據(jù)我所知,應(yīng)該是當(dāng)年推出脫殼軟件 RCOPY 3 的作者熊焰先生。在幾年前的 DOS 時(shí)代,“殼”一般都是指磁盤加密軟件的段加密程序,可能是那時(shí)侯的加密軟件還剛起步不久吧,所以大多數(shù)的加密軟件(加殼軟件)所生成的“成品”在“殼”和需要加密的程序之間總有一條比較明顯的“分界線”。有經(jīng)驗(yàn)的人可以在跟蹤軟件的運(yùn)行以后找出這條分界線來,至于這樣有什么用這個(gè)問題,就不用我多說了。但畢竟在當(dāng)時(shí),甚至現(xiàn)在這樣的人也不是很多,所以當(dāng) RCOPY3 這個(gè)可以很容易就找出“分界線”,并可以方便的去掉“殼”的軟件推出以后,立即就受到了很多人的注意。老實(shí)說,這個(gè)我當(dāng)年在《電腦》雜志看到廣告,在廣州電腦城看到標(biāo)著999元的軟件,在當(dāng)時(shí)來說,的確是有很多全新的構(gòu)思,單內(nèi)存生成 EXE 可執(zhí)行文件這項(xiàng),就應(yīng)該是世界首創(chuàng)了。但它的思路在程序的表現(xiàn)上我認(rèn)為還有很多可以改進(jìn)的地方(雖然后來出現(xiàn)了可以加強(qiáng)其功力的 RO97),這個(gè)想法也在后來和作者的面談中得到了證實(shí)。在這以后,同類型的軟件想雨后春筍一般冒出來,記得住名字的就有: UNKEY、MSCOPY、UNALL .... 等等,但很多的軟件都把磁盤解密當(dāng)成了主攻方向,忽略了其它方面,當(dāng)然這也為以后的“密界克星”“解密機(jī)器”等軟件打下了基礎(chǔ),這另外的分支就不多祥談了,相信機(jī)齡大一點(diǎn)的朋友都應(yīng)該看過當(dāng)時(shí)的廣告了。
解密(脫殼)技術(shù)的進(jìn)步促進(jìn)、推動(dòng)了當(dāng)時(shí)的加密(加殼)技術(shù)的發(fā)展。LOCK95和 BITLOK 等所謂的“殼中帶籽”加密程序紛紛出籠,真是各出奇謀,把小小的軟盤也折騰的夠辛苦的了。正在國內(nèi)的加殼軟件和脫殼軟件較量得正火紅的時(shí)候,國外的“殼”類軟件早已經(jīng)發(fā)展到像 LZEXE 之類的壓縮殼了。這類軟件說穿了其實(shí)就是一個(gè)標(biāo)準(zhǔn)的加殼軟件,它把 EXE 文件壓縮了以后,再在文件上加上一層在軟件被執(zhí)行的時(shí)候自動(dòng)把文件解壓縮的“殼”來達(dá)到壓縮 EXE 文件的目的。接著,這類軟件也越來越多, PKEXE、AINEXE、UCEXE 和后來被很多人認(rèn)識的 WWPACK 都屬于這類軟件,但奇怪的是,當(dāng)時(shí)我看不到一個(gè)國產(chǎn)的同類軟件。
過了一段時(shí)間,可能是國外淘汰了磁盤加密轉(zhuǎn)向使用軟件序列號的加密方法吧,保護(hù) EXE 文件不被動(dòng)態(tài)跟蹤和靜態(tài)反編譯就顯得非常重要了。所以專門實(shí)現(xiàn)這樣功能的加殼程序便誕生了。 MESS 、CRACKSTOP、HACKSTOP、TRAP、UPS 等等都是比較有名氣的本類軟件代表,當(dāng)然,還有到現(xiàn)在還是數(shù)一數(shù)二的,由臺灣同胞所寫的 FSE 。其實(shí)以我的觀點(diǎn)來看,這樣的軟件才能算是正宗的加殼軟件。
在以上這些加殼軟件的不斷升級較勁中,很多軟件都把比較“極端”技術(shù)用了上去,因?yàn)樵谶@個(gè)時(shí)候 DOS 已經(jīng)可以說是給眾高手們玩弄在股掌之間了,什么保護(hù)模式、反 SICE 、逆指令等等。相對來說,在那段時(shí)間里發(fā)表的很多國外脫殼程序,根本就不能對付這么多的加殼大軍,什么 UPC、TEU 等等都紛紛成為必防的對象,成績比較理想的就只有 CUP386 了,反觀國內(nèi),這段時(shí)間里也沒了這方面的“矛盾斗爭”。加殼軟件門揮軍直搗各處要崗重地,直到在我國遇到了 TR 這個(gè)銅墻鐵壁以后,才紛紛敗下陣來各謀對策,但這已經(jīng)是一年多以后的事情了。我常想,如果 TR 能早兩年“出生”的話,成就肯定比現(xiàn)在大得多,甚至蓋過 SICE 也有可能。TR 發(fā)表的時(shí)候 WIN95 的流行已經(jīng)成為事實(shí),DOS 還有多少的空間,大家心里都清楚。但話又說回來, TR 的確是個(gè)好軟件,比起當(dāng)年的 RCOPY3 有過之而無不及,同時(shí)也證明了我們中國的 CRACK 實(shí)力(雖然有點(diǎn)過時(shí))。這個(gè)時(shí)候,前面提到過的 FSE 憑著強(qiáng)勁的實(shí)力也漸漸的浮出了水面,獨(dú)領(lǐng)風(fēng)騷。其時(shí)已經(jīng)是 1997 年年底了,我也走完了學(xué)生“旅程”。工作后在CFIDO 的 CRACK 區(qū)認(rèn)識了 Ding-Boy ,不久 CRACK 區(qū)關(guān)了,我從此迷上了 INTERNET,并于98年6月建起了一個(gè)專門介紹“殼”的站臺:http://topage.126.com/ ,放上了我所收集的所有“殼”類軟件。在這段時(shí)間里,各種“殼”類軟件也在不段的升級換代,但都沒什么太大的進(jìn)展,差不多就是 TR 和眾加殼軟件的版本數(shù)字之爭而已。
1998年8月,一個(gè)名為 UNSEC (揭秘)的脫殼軟件發(fā)表了,它號稱可以脫掉98年8月以前發(fā)表的所有殼。我測試之后,覺得并沒傳聞中的那么厲害,特別是兼容性更是令我不想再碰它。 Ding-Boy 給這個(gè)軟件的作者提了很多建議,但寄去的 EMIAL 有如泥牛入海,可能是一怒之下吧,不久 Ding-Boy 的 BW (沖擊波)就誕生了。這個(gè)使用內(nèi)存一次定位生成 EXE 文件(后來放棄了)的脫殼軟件,在我的站臺公開后,得到了很多朋友們的肯定。要知道,從RCOPY 3 開始,絕大部分的脫殼軟件都是要兩次運(yùn)行目標(biāo)程序來確定 EXE 的重定位數(shù)據(jù)的。BW 的這一特點(diǎn)雖然有兼容性的問題,但也樹立了自己的風(fēng)格、特色。經(jīng)過幾個(gè)月的改善, BW 升級到了 2.0 版本,這個(gè)版本的推出可以說是 BW 的轉(zhuǎn)折點(diǎn),因?yàn)樗呀?jīng)是一個(gè)成熟、穩(wěn)定脫殼軟件了,它可以對付當(dāng)時(shí)(現(xiàn)在)大多數(shù)的殼,包括當(dāng)時(shí)最新的 FSE 0.6 等。更重要的是這個(gè)版本把選擇殼的和軟件“分界線”這個(gè)最令新手頭疼的步驟簡化到不能再簡化的地步,使更多的朋友接受了它。另外,能加強(qiáng) BW 功力的 CI 模式也是其它脫殼軟件沒有的東西。最近,BW 發(fā)表了最新的 2.5 BETA2 版本,增強(qiáng)了一些方面的功能,因它竟然可以脫掉號稱最厲害的磁盤加密工具 LOCKKING 2.0 的加密殼,因而進(jìn)一步奠定了它在“脫殼界”的地位。說到最新,就不能不提 GTR、LTR、EDUMP、ADUMP、UPS、UPX、APACK 這幾個(gè)國外的好軟件了,它們每個(gè)都有自己的特色,可以說都是當(dāng)今各類“殼”中的最新代表了。(這些軟件和詳細(xì)介紹請到我的主頁查閱)
由于 WINDOWS 3.1 只是基于 DOS 下的一個(gè)圖形外殼,所以在這個(gè)平臺下的“殼”類軟件很少,見過的就只有像 PACKWIN 等幾個(gè)有限的壓縮工具,終難成氣候。
可能是 MICROSOFT 保留了 WIN95 的很多技術(shù)上的秘密吧,所以即便是 WIN95 已經(jīng)推出了 3 年多的時(shí)間,也沒見過在其上面運(yùn)行的“殼”類軟件。直到 98 年的中期,這樣的軟件才遲遲的出現(xiàn),而這個(gè)時(shí)候 WIN98 也發(fā)表了有一段日子了。應(yīng)該是有 DOS 下的經(jīng)驗(yàn)吧,這類的軟件不發(fā)表由自可,一發(fā)表就一大批地的沖了出來。先是加殼類的軟件如: BJFNT、PELOCKNT 等,它們的出現(xiàn),使暴露了 3 年多的 WIN95 下的 PE 格式 EXE 文件得到了很好的保護(hù)。大家都應(yīng)該知道現(xiàn)在很多 WIN95 下的軟件都是用注冊碼的方法來區(qū)分、確定合法與非法用戶的吧,有了這類加殼軟件,這種注冊方法的安全性提高了不少,如果大家也有自己編的 WIN95 程序,就一定要多留意一下本類軟件了。接著出現(xiàn)的就是壓縮軟件了,因?yàn)?WIN95 下運(yùn)行的 EXE 文件“體積”一般都比較大,所以它的實(shí)用價(jià)值比起 DOS 下的壓縮軟件要大很多,這類的軟件也很多,早些時(shí)候的 VBOX、PEPACK、PETITE 和最近才發(fā)表的 ASPACK、UPX 都是其中的佼佼者。在 DOS 下很流行的壓縮軟件 WWPACK 的作者也推出了對應(yīng) WIN95 版本的 WWPACK32,由于性能并不是十分的突出,所以用的人也不太多。由于壓縮軟件其實(shí)也是間接給軟件加了殼,所以用它們來處理 EXE 也是很多軟件作者喜歡做的事情,最近新發(fā)表的很多軟件里都可以看到這些加殼、加壓縮軟件的名字了。有加殼就一定會(huì)有脫殼的,在 WIN95 下當(dāng)然也不例外,但由于編這類軟件比編加殼軟件要難得多,所以到目前為止,我認(rèn)為就只有 PROCDUMP 這個(gè)軟件能稱為通用脫殼軟件了,它可以對付現(xiàn)在大多數(shù)的加殼、壓縮軟件所加的殼,的確是一個(gè)難得的精品。其它的脫殼軟件多是專門針對某某加殼軟件而編,雖然針對性強(qiáng)、效果好,但收集麻煩,而且這樣的脫殼軟件也不多。前些時(shí)候 TR 作者也順應(yīng)潮流發(fā)表了 TR 的 WIN95 版本: TRW ,由現(xiàn)在的版本來看可以對付的殼還不多,有待改進(jìn)。
BW 的作者 Ding-Boy 最新發(fā)表了一個(gè) WIN95 的 EXE 加殼軟件 DBPE 。雖然它還不太成熟,但它可以為軟件加上使用日期限制這個(gè)功能是其它加殼軟件所沒有的,或者以后的加殼軟件真的會(huì)是像他說的那樣可以:加殼和壓縮并重、并施;隨意加使用日期;加上注冊碼;加軟件狗(磁盤)保護(hù);加硬件序列號判別;加... 。
后記:
很久沒寫過怎么長的東西了,寫著寫著,就發(fā)覺這是一個(gè)很難用一篇文章就可以說得完的題目,所以就決定這次先寫“殼”的歷史、發(fā)展、種類等。如果大家反映還可以的話,以后有時(shí)間的話再補(bǔ)上它的姐妹篇來介紹如何加殼、脫殼、脫殼軟件的使用、技巧等等。歡迎大家給我提意見,我的EMAIL 是:WCX98@163.NET,再次感謝你的閱讀。
(編輯:天命孤獨(dú))
新聞熱點(diǎn)
疑難解答
圖片精選