上文:疯狂的程序员 第三十一回
陈董一脸严肃又略带洋洋得意,绝影和BOSS Liu在心中盘算着这个大CASE能大到什么程度,100万,500万还是1亿,于是都期待着陈董继续往下说,恨不得拍着胸脯说:“陈司令,你就下命令吧!”
陈董掉足了两人胃口,才缓缓地打开自己的电脑,摆弄了一阵,向二人招招收,说:“过来,过来。”
两人探过头去,屏幕上是个国外的软件,全是英文。陈董说:“这是个石油上的软件,叫PVT2000,因为油田那边还需要个功能这上面又没有,我们必须给它加上去,其实也不难,简单地说,就是根据两个二次函数在坐标系上绘制它们的图像,求出交点并把坐标标示出来。”
本来两人看那PVT200看得兴致勃勃,心里琢磨着该不会让咱们也做这么个大象出来吧,没想到陈董这么一说,就相当于让咱们做一根大象的尾巴,也许只算尾巴上的几根毛。就比如你看周正龙拍老虎一炮走红,想起当年自己还拍了不少,那周老虎算啥,也不过尔尔。于是将自己的老虎报上去,梦想着自己也凭着这老虎一炮走红,没想到几天后你的老虎让上面给刷下来,领导批示:这分明是只猫嘛!
陈董看出两人有点失望,立刻说:“别急,这只是一小步!首先,这是个收费的软件,就让你用一个月,所以咱们还得先把它破解了。要是不破解,后面的都没意义。所以这才是大头,考验人的地方。小绝阿,你进公司的时候就听说你汇编不错嘛,这次可是你发挥的时候到了。”
听到后半部分,绝影顿时精神振奋,他长期跟别人吹牛说:“对加密算法,软件逆向工程有一定的研究。”但吹牛毕竟是吹牛,就算你把牛吹到天上去,毕竟还是有掉下来的一天。他总是梦想着有一天他跟别人说:“对加密算法,软件逆向工程有一定研究。那XXXX软件知道吗?那个软件多牛B,也让我破解了。”事实胜于雄辩这是显而易见的道理。
和绝影相反,BOSS Liu反而像泄了气的皮球。自己对汇编和逆向一窍不通,想充其量陈董也就是让自己做那个求交点的部分,那还不是弄个DC画几根线算下数学函数就完了的事情。亏得自己多C++研究了那么久,就像让他去做饭,可惜自己满脑子天文地理IT知识,竟然一个也用不上。
顿了顿,陈董问:“小绝阿,当初我就想到你说你汇编有把握,才冒险把这个CASE接下来,你看看,怎么样?”
本来绝影准备说:“没问题这事就包在我身上。”但听陈董这么说,意识到这个事情还是很严肃,保守一点比较好,于是说:“嗯,破解这个东西,7分技术3分运气,我还是只能试一试,不能说一定能做出来,不过做出来的几率应该还是比较大的。”
开完会,陈董把PVT2000拷贝到绝影的U盘上,和周总继续在办公室讨论更大的事情。他们俩走出来,到厕所里一人点了根烟,BOSS Liu对绝影自嘲地说:“BOSS,维护世界和平就靠你了。”
“哪里哪里,还是要靠你。”
“不不不,靠你就行了。”
“太失望了,原来这就是陈董的大CASE,看来在公司没机会做真正的大CASE了。”
星期六,燕儿又来了绝影这里,给他做了绝影最爱吃的鲫鱼汤。绝影喝着汤说:“陈董又回来了,说带了大CASE回来,原来就是指头那么点小项目,满以为有机会锻炼一下,不知道又要等到何年何月了。好再还有个破解的工作可以作作,勉强打下牙祭。”
“既然有机会,就好好给他们证明一下嘛。”
“不是我不想给他们证明。破解这个事情,我给他们说的7分靠技术3分靠运气,实际是完全颠倒过来――3分靠技术7分靠运气。我要运气好,十分钟就搞出来了,要运气不好,搞个十天八天都啥都没有。关键是写程序,写个十天半个月,你至少知道大概还要多久能搞出来,搞破解,你搞了十天八天,还是不知道啥时候能搞出来,到底能不能搞出来。”
“那就加油吧,尽力去做。”
“好,那我就去做了。”说完,赶紧爬到电脑面前。
绝影这招相当聪明,以前是燕儿做饭他洗碗,今天用这招刚好把洗碗的工作也推掉。
本来破解就是个细致工作,那时候技术又不发达,调试器还得用SoftICE,面对那个黑洞洞的窗口,还得记一大堆命令。好在有本《加密与解密》,本来看其实也没看什么,就这时候查查SoftICE的命令,权当工具书来看。哪像现在有Ollydbg,还可以边听mp3边调试,什么反汇编代码,直接一个复制粘贴到记事本中然后慢慢分析。不过话又说回来,正因为技术不发达,那时候软件也大多不加壳,就是加也基本都是些菜壳,哪像现在什么ASProtect,Armadillo,Themida还带虚拟机保护,不过就是个1.3L的VVT-i发动机,还给加个悍马的壳子,发动机价格3万,壳10万。
这PVT2000看来又比较简单,试用一个月,到期就给个对话框提示不能运行,好像要一个序列号,绝影自己知道,就他现在这技术,要找到序列号或者做个注册机那这项目应该算得上是个大CASE。但很显然以陈董他们给他的时间,他们并没把他当做大CASE来看,所以管你白猫黑猫抓到老鼠就是好猫,只要让他能运行就好。
从这个MessageBox下手,下了断点往前翻应该在就附近,再把断点往前下一点,一步一步跟,代码他大多没看懂,遇到CALL跟进去转老半天也不知道它的意思,干脆把CALL全部忽略掉,遇到跳转就去修改一下试试,JL改JNL,JE改JNE,反正都说了7分靠运气,高手破解,多半是把程序看懂了,就算看不懂,也大致有点了解,所谓暴利破解,没有一点技术含量,说出去只有被同行耻笑。绝影自认为不是高手,全凭猜测也无妨,三四百行汇编代码,跳转也就那么几十个,一个一个去改来看看还不行?所以穷举法还是个很有意义的方法,至少对绝影来说很有意义。
说幸运总是垂青有准备的人,可是绝影一点准备也没有幸运居然垂青了他。就在他把那个JZ XXXXXXXX改成JNZ XXXXXXXX后,PTV2000居然顺利运行了。再试一次,又成功了,程序被断下来,连G命令也没下,赶紧手舞足蹈对燕儿说:“出来了出来了,破了!”喊完了,觉得不过瘾,马上给陈董打个手机,反而平静地说:“陈董,那个PVT2000,破解出来了。”
这次是陈董兴奋地喊道:“太好了!”
出处:疯狂的程序员
责任编辑:bluehearts
上一页 下一页 疯狂的程序员 第三十二回 [2]
◎进入论坛休闲灌水版块参加讨论
|