⑴ 什麼是軟體加殼
加殼:其實是利用特殊的演算法,對EXE、DLL文件里的資源進行壓縮,
改變其原來的特徵碼,隱藏一些字元串等等,使一些資源編輯軟體不能
正常打開或者修改。類似WINRAR的效果,只不過這個壓縮之後的文件,
可以獨立運行,解壓過程完全隱蔽,都在內存中完成。
解壓原理,是加殼工具在文件頭里加了一段指令,告訴CPU,怎麼才
能解壓自己。現在的CPU都很快,所以這個解壓過程你看不出什麼東東。
軟體一下子就打開了,只有你機器配置非常差,才會感覺到不加殼和加殼
後的軟體運行速度的差別。
當你加殼時,其實就是給可執行的文件加上個外衣。用戶執行的只是
這個外殼程序。當你執行這個程序的時候這個殼就會把原來的程序在內存
中解開,解開後,以後的就交給真正的程序。所以,這些的工作只是在內
存中運行的,是不可以了解具體是怎麼樣在內存中運行的。
通常說的對外殼加密,都是指很多網上免費或者非免費的軟體,被一
些專門的加殼程序加殼,基本上是對程序的壓縮或者不壓縮。因為有的時
候程序會過大,需要壓縮。但是大部分的程序是因為防止反跟蹤,防止程
序被人跟蹤調試,防止演算法程序不想被別人靜態分析。加密代碼和數據,
保護你的程序數據的完整性。不被修改或者破解。
A殼和C殼演算法不同。
⑵ 什麼叫加殼怎麼樣加殼
最早提出「殼」這個概念的,據我所知,應該是當年推出脫殼軟體 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 。雖然它還不太成熟,但它可以為軟體加上使用日期限制這個功能是其它加殼軟體所沒有的,或者以後的加殼軟體真的會是像他說的那樣可以:加殼和壓縮並重、並施;隨意加使用日期;加上注冊碼;加軟體狗(磁碟)保護;加硬體序列號判別;加... 。