上文:瘋狂的程序員 第三十一回
陳董一臉嚴(yán)肅又略帶洋洋得意,絕影和BOSS Liu在心中盤算著這個(gè)大CASE能大到什么程度,100萬,500萬還是1億,于是都期待著陳董繼續(xù)往下說,恨不得拍著胸脯說:“陳司令,你就下命令吧!”
陳董掉足了兩人胃口,才緩緩地打開自己的電腦,擺弄了一陣,向二人招招收,說:“過來,過來!
兩人探過頭去,屏幕上是個(gè)國外的軟件,全是英文。陳董說:“這是個(gè)石油上的軟件,叫PVT2000,因?yàn)橛吞锬沁呥需要個(gè)功能這上面又沒有,我們必須給它加上去,其實(shí)也不難,簡單地說,就是根據(jù)兩個(gè)二次函數(shù)在坐標(biāo)系上繪制它們的圖像,求出交點(diǎn)并把坐標(biāo)標(biāo)示出來。”
本來兩人看那PVT200看得興致勃勃,心里琢磨著該不會(huì)讓咱們也做這么個(gè)大象出來吧,沒想到陳董這么一說,就相當(dāng)于讓咱們做一根大象的尾巴,也許只算尾巴上的幾根毛。就比如你看周正龍拍老虎一炮走紅,想起當(dāng)年自己還拍了不少,那周老虎算啥,也不過爾爾。于是將自己的老虎報(bào)上去,夢(mèng)想著自己也憑著這老虎一炮走紅,沒想到幾天后你的老虎讓上面給刷下來,領(lǐng)導(dǎo)批示:這分明是只貓嘛!
陳董看出兩人有點(diǎn)失望,立刻說:“別急,這只是一小步!首先,這是個(gè)收費(fèi)的軟件,就讓你用一個(gè)月,所以咱們還得先把它破解了。要是不破解,后面的都沒意義。所以這才是大頭,考驗(yàn)人的地方。小絕阿,你進(jìn)公司的時(shí)候就聽說你匯編不錯(cuò)嘛,這次可是你發(fā)揮的時(shí)候到了。”
聽到后半部分,絕影頓時(shí)精神振奮,他長期跟別人吹牛說:“對(duì)加密算法,軟件逆向工程有一定的研究。”但吹牛畢竟是吹牛,就算你把牛吹到天上去,畢竟還是有掉下來的一天。他總是夢(mèng)想著有一天他跟別人說:“對(duì)加密算法,軟件逆向工程有一定研究。那XXXX軟件知道嗎?那個(gè)軟件多牛B,也讓我破解了!笔聦(shí)勝于雄辯這是顯而易見的道理。
和絕影相反,BOSS Liu反而像泄了氣的皮球。自己對(duì)匯編和逆向一竅不通,想充其量陳董也就是讓自己做那個(gè)求交點(diǎn)的部分,那還不是弄個(gè)DC畫幾根線算下數(shù)學(xué)函數(shù)就完了的事情。虧得自己多C++研究了那么久,就像讓他去做飯,可惜自己滿腦子天文地理IT知識(shí),竟然一個(gè)也用不上。
頓了頓,陳董問:“小絕阿,當(dāng)初我就想到你說你匯編有把握,才冒險(xiǎn)把這個(gè)CASE接下來,你看看,怎么樣?”
本來絕影準(zhǔn)備說:“沒問題這事就包在我身上!钡犼惗@么說,意識(shí)到這個(gè)事情還是很嚴(yán)肅,保守一點(diǎn)比較好,于是說:“嗯,破解這個(gè)東西,7分技術(shù)3分運(yùn)氣,我還是只能試一試,不能說一定能做出來,不過做出來的幾率應(yīng)該還是比較大的!
開完會(huì),陳董把PVT2000拷貝到絕影的U盤上,和周總繼續(xù)在辦公室討論更大的事情。他們倆走出來,到廁所里一人點(diǎn)了根煙,BOSS Liu對(duì)絕影自嘲地說:“BOSS,維護(hù)世界和平就靠你了。”
“哪里哪里,還是要靠你!
“不不不,靠你就行了。”
“太失望了,原來這就是陳董的大CASE,看來在公司沒機(jī)會(huì)做真正的大CASE了!
星期六,燕兒又來了絕影這里,給他做了絕影最愛吃的鯽魚湯。絕影喝著湯說:“陳董又回來了,說帶了大CASE回來,原來就是指頭那么點(diǎn)小項(xiàng)目,滿以為有機(jī)會(huì)鍛煉一下,不知道又要等到何年何月了。好再還有個(gè)破解的工作可以作作,勉強(qiáng)打下牙祭。”
“既然有機(jī)會(huì),就好好給他們證明一下嘛!
“不是我不想給他們證明。破解這個(gè)事情,我給他們說的7分靠技術(shù)3分靠運(yùn)氣,實(shí)際是完全顛倒過來――3分靠技術(shù)7分靠運(yùn)氣。我要運(yùn)氣好,十分鐘就搞出來了,要運(yùn)氣不好,搞個(gè)十天八天都啥都沒有。關(guān)鍵是寫程序,寫個(gè)十天半個(gè)月,你至少知道大概還要多久能搞出來,搞破解,你搞了十天八天,還是不知道啥時(shí)候能搞出來,到底能不能搞出來。”
“那就加油吧,盡力去做!
“好,那我就去做了!闭f完,趕緊爬到電腦面前。
絕影這招相當(dāng)聰明,以前是燕兒做飯他洗碗,今天用這招剛好把洗碗的工作也推掉。
本來破解就是個(gè)細(xì)致工作,那時(shí)候技術(shù)又不發(fā)達(dá),調(diào)試器還得用SoftICE,面對(duì)那個(gè)黑洞洞的窗口,還得記一大堆命令。好在有本《加密與解密》,本來看其實(shí)也沒看什么,就這時(shí)候查查SoftICE的命令,權(quán)當(dāng)工具書來看。哪像現(xiàn)在有Ollydbg,還可以邊聽mp3邊調(diào)試,什么反匯編代碼,直接一個(gè)復(fù)制粘貼到記事本中然后慢慢分析。不過話又說回來,正因?yàn)榧夹g(shù)不發(fā)達(dá),那時(shí)候軟件也大多不加殼,就是加也基本都是些菜殼,哪像現(xiàn)在什么ASProtect,Armadillo,Themida還帶虛擬機(jī)保護(hù),不過就是個(gè)1.3L的VVT-i發(fā)動(dòng)機(jī),還給加個(gè)悍馬的殼子,發(fā)動(dòng)機(jī)價(jià)格3萬,殼10萬。
這PVT2000看來又比較簡單,試用一個(gè)月,到期就給個(gè)對(duì)話框提示不能運(yùn)行,好像要一個(gè)序列號(hào),絕影自己知道,就他現(xiàn)在這技術(shù),要找到序列號(hào)或者做個(gè)注冊(cè)機(jī)那這項(xiàng)目應(yīng)該算得上是個(gè)大CASE。但很顯然以陳董他們給他的時(shí)間,他們并沒把他當(dāng)做大CASE來看,所以管你白貓黑貓抓到老鼠就是好貓,只要讓他能運(yùn)行就好。
從這個(gè)MessageBox下手,下了斷點(diǎn)往前翻應(yīng)該在就附近,再把斷點(diǎn)往前下一點(diǎn),一步一步跟,代碼他大多沒看懂,遇到CALL跟進(jìn)去轉(zhuǎn)老半天也不知道它的意思,干脆把CALL全部忽略掉,遇到跳轉(zhuǎn)就去修改一下試試,JL改JNL,JE改JNE,反正都說了7分靠運(yùn)氣,高手破解,多半是把程序看懂了,就算看不懂,也大致有點(diǎn)了解,所謂暴利破解,沒有一點(diǎn)技術(shù)含量,說出去只有被同行恥笑。絕影自認(rèn)為不是高手,全憑猜測也無妨,三四百行匯編代碼,跳轉(zhuǎn)也就那么幾十個(gè),一個(gè)一個(gè)去改來看看還不行?所以窮舉法還是個(gè)很有意義的方法,至少對(duì)絕影來說很有意義。
說幸運(yùn)總是垂青有準(zhǔn)備的人,可是絕影一點(diǎn)準(zhǔn)備也沒有幸運(yùn)居然垂青了他。就在他把那個(gè)JZ XXXXXXXX改成JNZ XXXXXXXX后,PTV2000居然順利運(yùn)行了。再試一次,又成功了,程序被斷下來,連G命令也沒下,趕緊手舞足蹈對(duì)燕兒說:“出來了出來了,破了!”喊完了,覺得不過癮,馬上給陳董打個(gè)手機(jī),反而平靜地說:“陳董,那個(gè)PVT2000,破解出來了!
這次是陳董興奮地喊道:“太好了!”
出處:瘋狂的程序員
責(zé)任編輯:bluehearts
上一頁 下一頁 瘋狂的程序員 第三十二回 [2]
◎進(jìn)入論壇休閑灌水版塊參加討論
|