何謂軟體破解
為了使初學者更快地掌握一些概念,我找來一些文章 ,希望看了以後對初學者有所提高。
附:
文章作者
Peter S.
一些有關破解的東西
O . 前言 :
這篇文章不是教破解的,是講一些有得沒的東西(但是和破解相關)。
99/11/14 何謂破解 :
DOS 年代
不曉得各位網友有沒有經歷過 DOS 年代? DOS 時代並沒有像現在 WIN 時代一樣,有這么多的共享軟體,換句話說,那個時代的軟體要嘛就是正式版要嘛就是功能不全的 DEMO 版 [ 注 1] ,很少有所謂的 shareware 。就算有,也不是打「註冊碼」就可以得到註冊版的 ( 但是還是有,例如著名的 銀版快信) , 所以 DOS 時候所謂的破解,都是給你一些 0~9 、 A~B 的字,然後用 Pctools 改成 9090 或是 EB [ 注 2] ,來把程式中的限制關掉,或是跳過原版磁片檢查。然後再透過廣大的業餘的 bbs 提供下傳 。(曾幾何時,靠電話線的 bbs 已經被恐怖的 InternetBBS 給取代 ... 有過同樣經驗的網友,應該跟我一樣唏噓不已吧?有興趣看這幾篇文章嗎? 1 , 2 , 3 )
WIN95 早期
不騙各位,站長當年在 DOS 下,可是 basic 語言高手,不在我高三期間,電腦界開始暗潮洶湧,大有風雨欲來之勢 ... 當局勢處於一團渾沌未明之時,我埋首於書堆不聞外務 ... 等到再回首,已經上了大學,電腦界也瞬間風雲變色, Windows95 統治了世界!我熟悉的 Dos 就好像楠柯一夢一樣,全成了回憶!我的 basic 武功就好像被廢了一樣 ... 剛進 入 Windows95 時,我與各位新手一樣,什麼都不懂,甚至連什麼是「註冊碼」、為什麼要「註冊」都不曉得。不過漸漸地因為 shareware 的盛行,採用註冊碼保護的軟體越來越多,在 大量的軟體洗腦之下,我終於了解了「註冊」的意義 ... 而這時候許多的程式師也因為世界剛變到 Windows95 而手足無措,所以那時候的註冊碼,特別好破。因為程式師都是古板的使用 MessageBoxA 等等的 API [ 注 3] ... 可能也就是這段期間使眾多網友養成了索取「註冊碼」的習慣。 在 WIN95 年代,所謂的破解,都是給一個 ID ,一個 PW 。不用修改,只要照實輸入,就可以成為註冊版。 )
WIN95 末期
不什麼叫做 WIN95 末期??其實應該就是 WIN98 、WIN2000 世代交替之間。剛剛說過,程式師進入 Windows95 的手足無措,到這個時期已經消失無蹤,程式師已經對 Win95 這個怪物已經瞭若指掌,君不見像 ghost 、 vopt 等等的很需要程式技巧、很低階的軟體紛紛出籠,這些軟體必須要建立在對作業系統非常了解的前提下才行。的確也沒錯,因為 Win95 發展至今已2年——單獨使用 MessageBoxA ,就算是單純的使用 MessageBoxA ,註冊碼通常也經過特殊的 編碼,很難像追蹤 winzip 一樣,隨便用 S-Ice 追蹤一下就得到註冊碼 ... 這個時期的註冊碼已經越來越難得到(不信?去追追 Nero 這套燒錄軟體,或是去破破撥接總管,要不然 破 Vopt99 ,你就能了解什麼叫做欲哭無淚!)。軟體公司當然也知道網路上註冊碼流動的恐怖,所以 ... Win95 末期的軟體,動不動一個小升級,就必須使用新的註冊碼,來抑制注 冊碼的流傳。要不就是使用很難的演算法來算註冊碼,讓人破不了! 這也就是為什麼近期我推出的破解都是採取「破解檔」,而非公布「註冊碼」的方式,因為自己功力太差,算 不出註冊碼,只用走回頭路,學 DOS 的方法,用「改」的 [ 注 4] 。不過因為太多人不曉得該 怎么使用 16 位元編輯軟體了,所以逼的我只得以提供 Patch 檔 [ 注 5] 的方法來解決!
待續 ...
注釋
[ 注 1] 就是根本功能不全的版本,只能讓你看看軟體的長相,跟現今遊戲軟體的「展示版」一樣:只能看,不能用。
[ 注 2] 這些 9090 或 EB ,就是所謂的「機械碼」,是給電腦讀的!儲存在硬碟、記憶體、 CPU 里的資料就是使用這種 16 進位的「文字」(當然,執行檔就是以這種形式儲存的)。我們在破解時,使用 S-Ice 等的工具,將這些機器碼翻譯成人看的懂的「組合語言」。
[ 注 3] 所謂 API 就是 Win 程式執行時,所呼叫的「函式」,這跟 dos 下的 INT( 中斷 ) 差不多,主要是為了節省軟體開發的時間,並且使得系統穩定!像 win95 這么龐大的東西,如果連畫一個視窗框框都要自己寫程式的話,那不是會累死人?所以 windows 提供了很多的公式(就好像一台很強的計算機,存了很多的公式,呼叫牛頓第二定律函式後,只要打入 F 、 M 就可以帶入 F=Ma 的公式算出加速度 a ),讓程式師套用。像我介紹的 MessageBoxA ,顧名思義,呼叫他,就會在螢幕上出現一個「訊息視窗」!
[ 注 4] 就像文 Win98 的 NotePad 一樣,只不過 NotePad 是只能改「純文字檔」,而執行檔就必須仰賴 Pctools 或者 UltraEdit32 等等的「 16 位元」編輯軟體來「改」。請參考注 2
[ 注 5] 所謂 Patch 檔( Patch 的英文意思是「補」,就好像衣服穿破了用「補」的),這種檔案最早的套用應該是 UNIX 軟體因為錯誤、不穩、或更新,而要「補強」時所使用的。不過因為簡單好用,只要執行就可以修改檔案,不用藉助別的軟體去編輯檔案,所以被普遍的套用。尤其是在破解方面,只要執行了,就把軟體保護的部份給改掉,何樂不為?不過 Patch 檔不會憑空而來,必須要有人先破解,知道要改哪裡以後,再寫成 Patch 檔,讓 Patch 檔能自動修改要改的地方!