第122章 破解
作者:瘋狂小強      更新:2020-03-08 20:45      字數:3125
  超級係統最新章節

  在現代,盜版就好像是正版的孿生弟弟,他往往隻比他的哥哥晚誕生“一會兒”,但是他卻比哥哥的大方多了,他給所有人提供全部功能,樂意給所有人都提供免費服務。盜版和反盜版之間的鬥爭,猶如病毒和殺毒軟件之間的鬥爭一樣,打從出生起就是死對頭,反盜版技術是“盾”,不斷改進加密算法,從而達到不被盜版技術“矛”攻破的目的。

  但是,在這場曠日持久的攻防戰中,“矛”似乎更為鋒利,經常將“盾”成功刺穿,從而取得勝利。其中的原因除了“盾”過於被動,隻能老實巴交地乖乖等著“矛”來進攻之外,很大程度上還在於,“盾”的編製者通常隻是一個公司或者一個團體的精英,而他們要麵對的,往往是全世界的高手,這本來就是一種非常不對稱的攻防戰。所以,就算是像微軟這種世界級的巨頭軟件公司,其推出的加密機製在一天之後,也往往逃離不了被破解的命運。

  “盜版軟件”這個詞匯在商業軟件出現之前是不存在的,自由軟件是計算機業與身俱來的傳統,看看計算機的發史,從1946年到60年代,從ibm藍色巨人到arpa,從集成電路到pc機,從互聯網到電信自由經營,每一個時期都留下了“自由”的影子。那個時候,軟件的“自由拷貝”和“源代碼”開放是整個計算機業,包括個人電腦及互聯網兩大領域的天然的軟件開發和傳播模式。早在60年代,就有以大學為陣地,以年輕人為主題,自由地交流的風尚,並在軟件開發與研究方麵碩果累累:如unix、tcp/ip、fortran、pascal、lisp等等。在個人電腦革命還沒爆發之前,軟件的傳播是鼓勵自由拷貝的,正是這種自由拷貝、信息共享的精神上點燃了個人電腦革命,促成了軟件業的發展。

  而這也是黑客們一直堅持的“黑客精神”,他們始終認為,軟件和互聯網就應該像以前那樣,繼續保持自由、共享和免費。而比爾蓋茨這孩子,以前也是一個黑客,他憑借自由軟件搞出了basic,後來又搞出了ms-dos,但是這個時候他拋棄了黑客精神,轉而發展所謂的“商業軟件”,即要想使用他的軟件,就得付錢。在70年代末,以比爾蓋茨《致電腦業餘愛好者的一封公開信》為標誌,以世界知識產權組織《伯爾尼公約》為框架,軟件步入了cht的時代。

  “軟件破解者(cracker)”實際上也是從這個時候才正式從黑客這個主幹分離出來,他們也從來不認為自己是一個盜版者,他們通常都有自己的精神信仰,破解軟件,他們聚集在一起,號稱是“不以盈利為目的的純技術團體”。

  而說起軟件破解,就不得不提到一個詞匯“warez”。這個單詞由兩部分組成,一個是“ware”,即“軟件”,其後麵的那個字母“z”,則是“零(zero)”的首字母,“零”即“零天(0day)”,通俗一點的說法就是:在不到一天的時間內,就可以將某個軟件給破解出來。warez則可以理解為:可以無需任何代價的使用這個軟件。

  實際上,warez本身並不是一個具體的組織,它代表的隻是一種理念,一個泛稱,和世界上並不存在一個叫做“hacker”的黑客組織一樣,warez所代表的是追求warez理念的人們自行組合而成各個小組。

  這一屆的全球黑客大賽上,出現了一個中國人,但是由於大賽的保密性質,他的出現也並沒有引起多大的關注,隻有圈內少數熟知內情的人知道而已。而這些人並沒有心思去將這事大肆宣傳,因為這種事情雖然不是什麽不光彩的事情,但保持低調卻是必須的。

  這個中國人就是徐科。

  徐科是看雪學院破解版塊的版主,明麵上他是以看雪論壇的代表的身份去參加這個比賽,但實際上,他還有一個身份,即為razor1911組織中國區負責人。這一次他去參加比賽,其實主要是接到了razor1911總部的邀請,讓他去那邊參加一個razor1911的內部核心成員會議。

  而razor1911正是一個世界著名的warez破解組織。

  由於家庭條件的原因,徐科並沒有上大學,高中畢業之後就直接走上了社會,他的第一份工作就是在網吧打工,從此和電腦結下了不解之緣。

  徐科很聰明,從小他的數學成績就非常好,高考之後,他接到了水木大學數學係的入學通知書,可是這個時候,家裏已經沒有能力再供他上學了,為了讓他讀高中,家裏已經是負債累累。窮人家的孩子早當家,徐科不得不輟學了,家裏還有一個弟弟要上學。

  那個時候,電腦還是於新鮮事物,根本沒有現在這麽普及,徐科通過一個同學的介紹,找到了一個網吧打工的工作,在那個時候已經相當不錯了,令徐科滿意的是,這份工作還能學到不少東西。

  也就是在那個名為“網神網絡”的網吧,徐科第一次接觸了windows視窗操作係統,第一次知道了網絡,申請了第一個qq號碼,擁有了第一個電子郵箱……

  由於每天長達十幾個小時接觸電腦,好學的徐科很快就成為了電腦高手,硬件或者軟件方麵的一些常見毛病,他都能輕易解決。

  不過,徐科並沒有滿足,他開始利用工作的便利,通過網絡學習更多的知識,他開始混跡於國內有名的電腦技術論壇,和誌同道合者一起學習、交流和討論。

  還記得是九年前的那個暑假,混跡於某個黑客論壇的徐科無意中下載了一個破解教程,這個時候的他,已經有一定的編程基礎,能夠看懂一些簡單的程序代碼,但是在破解領域,他還是菜鳥一個,甚至一些基本的概念他都沒有聽說過。之所以下載這個教程,也隻是他的習慣而已,因為那個網站上的那些教程,好像就隻剩下這個沒有看了。

  按照他的習慣,他將整個教程一篇篇的看過去,每一篇都看得非常仔細,遇到要動手的地方,必定會一步一步完全按照教程中的步驟來。

  也正是這個教程,將他引入了破解的世界,他真正了解了破解的一些基本概念,為什麽要加密?什麽叫“殼”?脫殼的原理主要是什麽?……

  看了這個教程之後,他發現破解似乎並沒有那麽神秘,於是他進入了該網站論壇的破解版,開始了他的破解學習路程。

  當基礎知識學得差不多的時候,他開始動手破解自己平生第一個“crackme”程序。

  crackme程序通常是由破解高手寫出來的一個很小很小的程序,它隻有一個功能:要求你輸入一些信息和注冊碼,然後點擊確認之後,判斷該注冊碼是否正確。實際上,這隻是一個商業軟件中的注冊部分功能而已,高手們將這部分功能抽離出來,然後以出題的形式分發出去,給新手們作為破解入門的階段練手用。它的作用就是供破解愛好者去破解它的加密原理,繞過注冊步驟或者找出注冊碼,甚至寫出注冊機。這種程序單純隻是用作破解學習的,並沒有任何特定的功能,也沒有任何攻擊性。

  crackme最簡單最直接的破解方法是所謂的“爆破”。爆破也是破解的初步,主要是指僅僅通過修改可執行文件的源文件,就可以達到相應的破解目的。例如輸入注冊碼之後,程序通常要判斷用戶輸入的注冊碼是否正確,如果否,則重新跳轉到輸入之前的那個步驟,這是一個循環。而使用“爆破”的手法,可以直接用編輯軟件,將程序中的那個判斷給修改掉,如改成這個判斷永遠正確,這樣無論用戶輸入什麽字符,都會認為這是正確的注冊碼,從而達到破解效果。

  在秘界,軟件破解者通常分三個階段。初級,直接用“爆破”方式來破解。中級,使用調試軟件,動態追蹤出軟件的注冊碼。高級,完全弄懂軟件的加密算法,然後根據這個算法,寫出一個注冊機,可以用這個注冊機算出無數個合法的注冊碼。

  徐科剛學破解的時候,就是不斷地去破解別人提供的各類“crackme”程序。一步一步,從初級升到高級。

  原本以為自己技術已經很牛了的時候,徐科來到了“看雪論壇”,這個時候他才發現,原來國內的破解高手都集中在這裏,自己和這些牛人比起來,依然還是小菜鳥一個。

  於是,徐科的破解學習之路又重新開始了。--