Make your own free website on Tripod.com

一切從「殼」開始

吳朝相 1999.2.23

我寫這篇東西的主要目的是讓初到本站的新手們能對「殼」有個大概的認識,知道我每天說了些什麼。限於本人的知識,如果有 ERROR 之處,還請多原諒。如果您覺得還可以,也歡迎轉貼,但請保留文章的完整性和作者的資料。當然如果您想把它發表,硬塞些稿費給俺花花,我也不會拒絕的。;)            


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

後記:

很久沒寫過怎麼長的東西了,寫著寫著,就發覺這是一個很難用一篇文章就可以說得完的題目,所以就決定這次先寫「殼」的歷史、發展、種類等。如果大家反映還可以的話,以後有時間的話再補上它的姐妹篇來介紹如何加殼、脫殼、脫殼軟體的使用、技巧等等。歡迎大家給我提意見,我的 EMAIL 是: WCX98@163.NET,再次感謝您的閱讀。
 



回教學