絕影從周總辦公室出來(lái),拷貝了一份X-posure,這才算個(gè)像模像樣的商業(yè)軟件,七七八八在安裝目錄中安裝了一大堆文件。
上次那個(gè)PVT畢竟是絕影第一次做破解,雖然最后還是破了出來(lái),但用的還是暴力破解,那是內(nèi)行人所不齒的,弄得他自己都不好意思跟別人講,暴力破解也確實(shí)不過(guò)癮,找出一個(gè)位置把Jxx改成Jmp就行了。這次又來(lái)了破解的CASE,還是官方的CASE,當(dāng)然要好好發(fā)揮一下。這么想,他打定主意,要么做不出來(lái),要么就把注冊(cè)機(jī)做出來(lái),網(wǎng)上不是那么多牛人么?一會(huì)發(fā)布個(gè)XXX注冊(cè)機(jī)一會(huì)發(fā)表篇XXXX破解筆記,你說(shuō)自己牛,有什么證據(jù)?以前BOSS Liu在公司,天天跟自己明里暗里比技術(shù),自己又確實(shí)比不過(guò)他啊,沒(méi)有事實(shí)說(shuō)話。這次要是把注冊(cè)機(jī)做出來(lái),也跑到看雪論壇去發(fā)一篇,東西放在那里,看你BOSS Liu這次還有什么話說(shuō)。
這樣美好的想像著,絕影開(kāi)始破解起X-posure。
上次破PVT絕影給機(jī)器上裝了SoftICE,結(jié)果弄得系統(tǒng)異常不穩(wěn)定,新版本的DriverStudio在Windows2000下莫名其妙下不了斷點(diǎn),老版本的4.05還算好,可系統(tǒng)老是莫名其妙的重啟,所以破完了就重裝系統(tǒng)。這次卻又得再安裝一次。
破解本身不需要對(duì)這軟件研究得有多透徹,只要知道他是哪個(gè)exe在負(fù)責(zé)輸入序列號(hào)就行了,還是從MessageBox下手,思路不難,麻煩的就是這SoftICE。現(xiàn)在隨便問(wèn)一個(gè)搞破解的或者搞逆向工程的,誰(shuí)不知道SoftICE?SoftICE牛不牛?當(dāng)然牛。正因?yàn)樘A,所以似乎專門給牛人用,或者只能給牛人用,因?yàn)椴僮鲗?shí)在太復(fù)雜了。IceDump這些插件絕影沒(méi)裝,就算裝了他也不會(huì)用。你想從念大二第一次用SoftICE到現(xiàn)在,才學(xué)到勉強(qiáng)能用它調(diào)試東西的程度,你說(shuō)要是再加個(gè)IceDump那還不知道得學(xué)到哪年哪月。
既然IceDump不會(huì)用,就用笨一點(diǎn)的辦法,直接拿紙把前面的代碼抄上,地址、機(jī)器碼、匯編代碼注釋什么的都一字不落地抄下來(lái)再慢慢分析。
第一天做了些準(zhǔn)備工作,第二天絕影開(kāi)始認(rèn)真的破解,本來(lái)作為一個(gè)程序員,在他身上是很難找到紙筆的,甚至久而久之很多漢字都只會(huì)用電腦打不會(huì)用筆寫了。但是那一天,絕影卻整整寫了十六張A4打印紙的代碼。張廠長(zhǎng)在一旁有點(diǎn)不服氣,說(shuō):“上次我打印個(gè)資料,才用六張紙,都領(lǐng)了個(gè)周總的口頭警告,怎么你一會(huì)去拿一會(huì)去拿他都不說(shuō)你?”
“我這是工作嘛。你以為我要是有廢紙會(huì)去拿打印紙?廢紙?jiān)缱屛易鲅菟阌猛炅。?/p>
下班的時(shí)候張廠長(zhǎng)叫絕影一起走,說(shuō)是去瀘州面館吃面,絕影想了想說(shuō):“你自己去吃吧,現(xiàn)在正是關(guān)鍵位置,我要好好跟一下。”
“吃了飯拿回家再跟吧,現(xiàn)在肚子餓,一不小心就跟飛了,那損失就大了。”
“不行不行,家里電腦還是不要裝SoftICE,不穩(wěn)定。”
絕影說(shuō)這些的時(shí)候頭也沒(méi)回,張廠長(zhǎng)有點(diǎn)失望,不過(guò)想想也算了,他這種情況,多半是走火入魔了,現(xiàn)在不要說(shuō)自己,就算燕兒肯定也喊不動(dòng)他。
人都走完了,絕影干脆關(guān)了公司的門,十幾張打印紙的代碼鋪在面前,眉目也有了點(diǎn),畢竟那幾年水平只有那樣,再加上又是國(guó)外的軟件,國(guó)外軟件特別是成熟的大型商業(yè)軟件在反逆向工程上一直都做得很菜這是公認(rèn)了的。這跟國(guó)內(nèi)形成了鮮明對(duì)比。在國(guó)內(nèi),隨便一個(gè)“無(wú)敵剪貼板”之類的芝麻大點(diǎn)的軟件都?xì)ぜ恿艘粚佑忠粚,加了殼又壓縮,壓縮了又加殼,什么Anti-Debug,Anti-DAsm,虛擬機(jī),花指令,密碼學(xué)加密算法凡是能沾邊的能用上的都用上,用不上的創(chuàng)造條件也要用上。比起他們,那X-posure的序列號(hào)算法確實(shí)算得上有失水準(zhǔn),字符有效性的判斷都很簡(jiǎn)單,要么是0-9的數(shù)字,要么是“-”,關(guān)鍵的算法又全部寫在一個(gè)函數(shù)中,找到這個(gè)函數(shù)基本上等于大功告成。
說(shuō)起來(lái)也容易,但真的找到還是費(fèi)了他不少心血。SoftICE用起來(lái)實(shí)在太復(fù)雜,現(xiàn)在搞破解的前輩教育晚輩一般都說(shuō):“SoftICE用過(guò)嗎?我們那幾年,只有SoftICE用,你那OllyDBG又如何?畢竟是三環(huán)調(diào)試器,你用著是方便,可是畢竟是三環(huán)啊,對(duì)付你的辦法多得很,什么檢測(cè)調(diào)試寄存器,什么Hook調(diào)試API,什么浮點(diǎn)指令漏洞,哪像我們那時(shí)候SoftICE基本橫掃天下。所以啊,工具多了,人就懶了,要學(xué)真技術(shù),還是要在Kernel上多下點(diǎn)工夫啊!
所有位置找到,絕影開(kāi)始琢磨這個(gè)注冊(cè)機(jī),想明天到了公司,周總問(wèn):“小絕啊,工作進(jìn)展如何。啃蛄刑(hào)找到了嗎?”他就大大咧咧拿出這個(gè)注冊(cè)機(jī)說(shuō):“還行吧,注冊(cè)機(jī)也寫出來(lái)了,你用用看行不行吧!边@樣,周總肯定又要對(duì)他刮目相看,肯定又要拍拍他的肩說(shuō):“小絕啊,從來(lái)沒(méi)讓我們失望過(guò)!”
其它什么難的,就是那個(gè)關(guān)鍵函數(shù),雖然匯編代碼不是很復(fù)雜,但這明顯是高級(jí)語(yǔ)言寫的,那些數(shù)據(jù)的計(jì)算要還原成C語(yǔ)言代碼還是麻煩,想起網(wǎng)上一篇文章,好像就是介紹直接用Windows優(yōu)化大師的反匯編代碼寫注冊(cè)機(jī),給了點(diǎn)思路,不如就直接用匯編語(yǔ)言來(lái)寫注冊(cè)機(jī)得了。
這樣一直忙到晚上三點(diǎn)多,絕影用自己寫的注冊(cè)機(jī)生成了三個(gè)序列號(hào),居然都能用。他才收拾好打印紙出了公司。
街上的店差不多都打烊了,只剩幾家燒烤店,絕影去了離自己住處最近的一家,喝了兩杯豆奶,吃了兩條烤魚(yú),想起以前跟BOSS Liu在這里喝酒吃燒烤,自己這個(gè)CASE算是做完了,幾百塊的獎(jiǎng)金基本上算到手,不知道他在成都混得如何。
回到家,絕影還是沒(méi)有一點(diǎn)倦意,他也不想睡,現(xiàn)在睡了明天肯定又起不來(lái),于是拿出寫滿代碼的打印紙,整理好思路,打開(kāi)Word,題目寫上《X-posure序列號(hào)破解》,寫完這篇又花了兩個(gè)多小時(shí),于是在看雪論壇上注冊(cè)一個(gè)ID發(fā)上去。
看雪論壇在搞破解的人當(dāng)中那可是技術(shù)的圣殿啊,所以他還算比較人道,可以不注冊(cè)就去看帖子,絕影也一直沒(méi)有自己的ID,這次要發(fā)文章了,才去注冊(cè)一個(gè)。沒(méi)想到幾天以后,這篇帖子居然被看雪大大批準(zhǔn)為精華貼,更沒(méi)想到,幾個(gè)月以后,這篇帖子竟然收入了《看雪論壇精華》。
絕影洋洋得意看著自己論壇上面帖子:1,精華:1,想以后要么不發(fā),要么就有成果了再發(fā),發(fā)就發(fā)精華貼,100%看雪論壇精華,還說(shuō)我不牛么?
這么想了,所以從那以后,絕影在看雪論壇上始終只有一篇帖子。
下文:瘋狂的程序員 第四十回
本文鏈接:http://www.95time.cn/column/member/2008/6161.asp
出處:瘋狂的程序員
責(zé)任編輯:bluehearts
上一頁(yè) 瘋狂的程序員 第三十九回 [1] 下一頁(yè)
◎進(jìn)入論壇休閑灌水版塊參加討論
|