本来绝影认为Xs555IPACS确实没有什么技术含量,基本上没有什么再开发的价值,相比起来,DAP的价值要大得多。如果是别人这么说,他肯定拿出一大套说辞来有力地反驳他,奈何这话又是周总说,现在公司收入的大头还是得靠Xs555IPACS,于是继续听周总往下说。
“最近我调研了一下,发现一个很简单也很实用的功能,就是遥控器。比如以前我们在Xs555IPACS上点击‘拍摄’按钮来拍片,医生一边要兼顾病人的体位,一边又要到控制台上来操作,实在不方便,离放射源也近,不如拿个遥控器,远远地就可以拍摄了,你说多方便。”
他这么说,绝影几个人不约而同地点点头,周总也确实想到独到之处。现在什么东西都有人做,做的多了,竞争就激烈起来,本来大家的技术都差不多,比就比什么?比谁的设计新颖,谁的设计更人性化,系统是越来越复杂,操作要越来越简单,就比如Photoshop,东西是好,但学起来太难,起码得买三五本书,要想稍微提高一点至少还得报上一个培训班,比学写程序还难,所以尽管早在大一的时候绝影就打算学Photoshop但直到今天还是什么也没学会。
程序员的想法往往是所有人都是程序员,这么简单一个程序,不说你看一眼就懂,至少你摆弄个三五天也应该耍得有模有样。有这种想法,设计起来就粗糙了,能省的地方就省了,比如软件配置,就不专门做配置模块了,你自己去修改ini文件吧,大不了给你写个文档,哪个Section哪个Xs555ey是什么什么功能。
可是用户偏偏和你想的不一样,想想傻瓜相机这个概念刚出来的时候多火爆,所以你就得把用户都当成傻瓜,你永远不要指望他会把鼠标移到工具栏上停留个三五秒自己去发现上面的Tooltip,最好啥都做成一键式,一键拍片,一键恢复,一键出报告,然后在大大的按钮上把这些用红色字体都标注得清清楚楚。
周总见大家都很赞同他的观点,颇有点得地说:“现在遥控器的优先级要高一些,小绝你先把DAP的项目放一放,这个属于硬件方面的开发,小张你应该比较了解,你好好去调研一下,有什么问题让小绝多提供些支持。”
张厂长听了周总的话,胸有成竹地使劲点头,想在公司这么久,被绝影嘲笑自己做玩具都不直到嘲笑了多少次,奈何自己一个搞硬件的偏偏身在软件公司,有一点鹤立鸡群的味道,那些鸡不但不觉得自己漂亮,反而嘲笑自己长得太丑。这次可是一次扬眉吐气的机会。
绝影心里还是有点不舒服。他觉得周总心里有偏见,不要说周总,全世界对软件都有偏见,都觉得硬件好,念初中的时候,老师就说:什么是硬件?硬件就是看得见摸得着的东西。什么是软件?软件就是看不见摸不着的东西。人们的心态就是这样,往往更喜欢实实在在捏在手中的东西。早些年布雷顿森林体系的时候,你跟他说金属本位制,美元也是硬通货,直接跟黄金挂钩的,可人们还是偏偏喜欢黄金,眼看金融危机一来,赶紧把美元全部换成黄金,搞得美国也没了那么多金子,不得不放弃美元,美元也变成了货币符号,最后害了谁?还不是害了自己,自己辛辛苦苦挣再多钱,不过是货币符号而已。
张厂长兴冲冲去城隍庙电子市场出了几次差,每次都抱回一大堆电阻啊,电容器啊,电路板啊这次材料。本来他就爱捣鼓这些玩艺,加上这次都是公费报销,虽然以他的人品肯定不会中饱私囊,但放在公司里也差不多就是自己一个人用,当然要尽可能多地充实自己的工具箱。
绝影见他每天都忙得不亦乐乎,忍不住问:“怎么样?有眉目了吗?”
“当然当然,一周下来,还是小有收获。”
“有啥收获啊?拿来见识见识。”
听他这么说,张厂长小心翼翼地从箱子中翻出手机大一个遥控器,递给绝影说:“就这个,如何?九键的遥控器!”
绝影掂了掂,感觉轻飘飘的,想起小时候买钢笔,妈妈说要买重的,重的好,从那时候开始,就觉得轻的东西不牢靠。你想黄金啊白金啊这些值钱的东西,哪样不是沉甸甸的,要说轻,就塑料这些不值钱的东西才轻。于是问:“这么轻呀?顶用吗?”
“当然顶用了。发射功率大,有效范围30米。”
“不会吧,我家的电视机遥控器拿到门口基本就不能用了,这玩艺能有这么厉害?”
“我怎么可能吹牛呢?来我给你试验一下。”
张厂长说完,从绝影手中接过那个遥控器,三步五步跑到公司外面,绝影跟着他跑过去。出了公司,张厂长说:“不要说10米20米,就是隔道墙,信号都能过去。”
他一边说一边按下上面的键,两个人再进到公司里面,果然,张厂长桌上电路板上的灯亮了。
绝影见那桌上的东西堆得是七零八落,好多东西都没见过,原来画电路图,电阻一个个都花生那么大,亏得这次张厂长从城隍庙带回一大串电阻,才直到原来现在科技进步了,电阻都做得米粒这么小。
绝影一边大量张厂长的办公桌一边忍不住伸手去拿,张厂长赶紧喝道:“小心,别碰!”吓得绝影又赶紧撒手。
“这东西就是单片机,小心,别给我碰坏了。”
“就这么点大,就是单片机?”
“当然了,AVR MegaXs555芯片!”
就轻轻碰了一下,张厂长居然对自己大呼小叫,绝影觉得他也太小气了,他狠不得告诉他:不要说区区一个单片机,就是数字信号处理器,老子在大学也早就学过了,而且成绩还不奈。虽说张厂长是搞硬件软件的,可说不定自己一样也能搞硬件开发。坏就坏在自己当初把学电路的时间都拿去学写程序去了,要不今天也不至于在张厂长面前如此无知。
周总听到呼声,也从办公室走出来,见张厂长桌上摆满了电子元件,好像进展不小,便问:“怎么样?小张,进度如何了?”
张厂长认认真真地回答:“材料都已经差不多了,就差芯片的开发了。”
“还有什么问题吗?”
“目前还有两个问题。一是还没有开发板,二是还没有集成开发环境。”
“那你有什么打算呢?”
“开发板有三个方案。现在我这里有一个我同学自己做的开发板,不过他应该不会免费送给我们;二是我们可以去买一个现成的,估计差不多100块钱;三我们也可以尝试自己做一个。”
张厂长说完顿了顿,似乎在等待周总。周总皱了皱眉头问:“自己做,有把握吗?”
“没做过。”
“那我们还是不要冒险了。就跟你同学说一下,看他能不能便宜点卖给我们。反正他的东西都借给你用了这么久了,你上手起来也比较快。”
“嗯。还有集成开发环境。现在有两个选择,一是用BASIC语言,有现成的BASCOM,相关的资料和教材我都有;二是用C语言,对这个我不是很熟,网上查了一下,可以用Xs555eilC。”
“BASIC肯定不能用,这里先否决了。我们一直是用C/C++做开发,技术要能够为以后做积累。你就去调研下用C语言做吧。有什么不懂的多问问小绝,他对C语言比较熟。”
用C语言来开发显然是张厂长不愿意,他本来就擅长BASIC,用起来可谓轻车熟路,正因为自己擅长这个,所以虽然在公司呆了这么久,C/C++方面他还是没怎么提高,让他用C语言来开发,等于是让他从头开始学。
不过项目既然已经下来,自己就必须得顶上去,张厂长也是焦头烂额突击C语言,居然在一周内有了突飞猛进。原以为应付这么个小项目应该没有什么大问题,但真正做起来,方才觉得书本上的知识实在太有限了。好在公司里还有绝影撑腰,周总说了,有什么问题,找他。
绝影看了他的程序,忍不住在心里笑,所有的变量居然全部定义成全局变量,写一个函数判断第一个参数是否大于第二个参数明明一个return a>b;就行了,他非要写成if(a>b) return TRUE; if(a<=b) return FALSE; 好在虽然程序写得糟,但逻辑思路还是正确的,问题就出在和芯片相关的函数调用上,那C语言,光一个芯片类型就花了整整几十Xs555的头文件来定义,看得绝影也是晕头转向,只好给他说:“应该是芯片定义的问题,你再好好看看。”
绝影一席话,让张厂长如获至宝,赶紧又埋头忙他的去了。反正绝影又闲得无事,于是向张厂长要了一份芯片官方的开发手册研究起来。
看了一个下午,想这AVR单片机开发哪里有那么复杂,一本开发手册,一个汇编器,一个下载器足矣。那汇编肯定是难不住自己,大不了要用什么指令,要怎么设置标志位到手册上查就是了,亏得张厂长还装个50多M的开发环境。反正现在有流行玩单片机,普通小市民见面打招呼不外乎就是:“吃饭了吗?“大老板们打招呼往往是:“怎么样?官司打赢了没有?”搞技术的人,特别是搞硬件的,打招呼却是:“最近玩啥板子呢?拿出来研究研究!”绝影虽说学了点单片机的毛皮,但这种流行的玩艺的确还没有实际玩过,这次正好什么条件都有,于是下班的时候,把张厂长拉到一边,低声说:“今天晚上,就把你那开发板借我用用吧,我也去过过瘾。”
平时难得有绝影向张厂长请教,所以张厂长倒也大方,叮嘱了几句也就把开发板借给了他。
回到家,绝影望着那开发板和芯片感慨万千,好不容易有个实战的机会就这么给浪费了,那太可惜了。要干就干个大家伙,就把那遥控器的芯片程序用汇编写出来,也拿给张厂长和周总瞧瞧。
其实用汇编来做芯片开发也并非想像中那么复杂,主要还是这个项目太小,也就是从I/O口取到遥控器的输入,编码一下再从I/O口发出去,关键是用汇编,中断控制得自己来做,好在自己当初在学校就专攻了汇编,这玩艺也难不到他。
忙活到半夜三点多,这程序居然还写了出来,其实总不过一百来行,汇编成HEX再烧到芯片里,居然才占了4Xs555空间。
绝影洋洋得意地收起自己的作品,想像一下,你张厂长能做出来又如何?毕竟是你是搞硬件专业的,我不跟你比这个,但是我一个搞软件的,也还不是一样做出来了,你能来跟我比软件开发么?所以说,拯救世界,征服宇宙,得学汇编。
说有志者事竟成这话一点不假,用在张厂长身上特别适合,经过周总这次委以重任,他还是很快从C语言文盲进步到独自完成了芯片程序开发的水平。
上交任务这天,他和绝影心里都揣着小九九。张厂长是基本上独自一人完成了整个任务,绝影呢,用汇编做出芯片的程序,在BIN体积上占了很大优势。这可难到了周总,本来绝影的任务应该是辅助张厂长做上位机的开发,他却偏偏要抢张厂长的功劳,奈何他又是技术主管,于是他耸耸鼻子说:“小绝用的汇编,小张用的C语言,这样吧,咱们明天来开个会,决定用谁的程序。”Xs555
看书就到全文字小说站小说555 http://www.xs555.com
<a href="/User/Messages.aspx?to=admin&title=WEB-疯狂的程序员 正文 《疯狂的程序员》38"><font color="#FF0000" size="2">(章节错误我要举报给管理员)</font></a> <a href="http://bbs.xs555.com/thread.php?fid=7" target="_blank"><font color="#FF0000" size="2">(章节错误我要举报到论坛)</font></a>
<SPAN id=ad_5> </SPAN>
《疯狂的程序员》39
自己做的东西,就是怎么看怎么满意,绝影和张厂长都觉得自己写的程序好,周总肯定要用自己的。
周总还是决定用张厂长的程序。绝影用汇编做的,公司以前没尝试过,他还是不想冒这个险,毕竟C语言才是入门语言,大部分程序都懂,以后万一出了什么问题要临时维护也不愁找不到人。
这个决定后来在很长一段时间里让绝影一直耿耿于怀。现在单位里特别是国有单位,年轻人往往对年长的领导腹绯很多,而上了年纪的领导又对这些年轻人意见很大,归根到底,人老了,不求有功,但求无过,凡事畏畏缩缩,又觉得年轻人办事不牢靠,太激进太冒险。
绝影原以为周总从国外回来,靠技术起家大刀阔斧创办这么个公司应该是年轻有为敢想敢做的人,当然公司创业初期周总也确实是这样,没想到公司过了最艰难的时候稍微稳定下来,周总的思想也开始陈旧。一方面要他负责技术减轻他和陈董的压力,一方面又不给他机会充分发挥他想法。
遥控器的CASE搞完了又要搞DAP,想起来绝影就头痛,暑假的时候燕儿在公司还要好点,现在开学了,燕儿也走了,周总就知道布置任务,验收代码,张厂长就知道摆弄他那堆电子元件,现在整个公司连个跟自己谈得拢的人都没有,苦水都没地方倒。
做这DAP就像打麻将,反正四川人爱打麻将是出了名的,说在飞机上听到麻将的生音就知道成都到了。
说到打麻将,在每把开始之前人人都是踌躇满志,想这把要和就和个大的,屁和?屁和根本就不和,至少也得和个大对子清一色的,还非得自摸,关三家,家家都关他个三翻五翻的。
这么想,等牌上手了,才发现原来生活并不是想像中那么美好。牌虽然是烂了点,好在自己技术还不错,总还是有点希望,于是按部就班地打,谁知是打啥来啥,越打牌越烂,烂到最后,算了,破罐子破摔,本来都已经到了绝望的地步,忽然发现自己居然和了个十三烂。
原以为DAP嘛,不过简单的C++封装,当初想得热血沸腾,真上手做了,才发现这样问题那样问题又冒了出来,既然问题都已经来了,没办法,想凭自己的技术尽量去解决吧,结果是修改一个BUG,又制造两三个BUG,越解决问题越多,弄到最后,这CASE估计就死了,没法做了。可是和打麻将又不同,打麻将打到最烂的时候还有个十三烂的和法,就比如日本流行的“败者复活战”,本来都败了,居然又可以复活,等于是天上掉下的机会。可是程序写烂了,又没有“复活”这么个机会。所以,写程序,前期不搞好设计,不写好文档真是害死人啊。
周总还是相当相信绝影,只说让他自己控制一下进度便进办公室去做他的事情,绝影自己在电脑面前倒是相当苦恼,这DAP确实是做不下去了,但是不做又不行,周总也没让他停下来的意思,而且他现在还肯定地认为:小绝啊,从来没让我们失望过。
于是绝影只好一边赖在电脑面前打发时间一边期待着周总又有新的任务交给他,没想到到真有这么一天,周总又对他说:“小绝啊,DAP是个长期项目,做到这里我们先放一放吧。”
周总这样说,他并不知道绝影心里的小九九,绝影却故意问:“怎么了?有什么问题吗?”
周总向他挥挥手,示意他进自己的办公室,在自己电脑上,他一面摆弄一个软件一边说:“也没什么。DAP这个平台性的东西,对我们来说是非常重要的,但是我想我们对应用上的开发也不要放了,毕竟这是我们近期收入的来源。我又琢磨着再做一些应用上的开发,最近我正调研一个软件――X-posure,用来计算骨密度的,这软件做得相当不错,可以外接扫描仪,直接把X光胶片扫描或导入进去就能将上面选定部分的骨密度计算出来。你看我给你示范一下。”
绝影对周总摆弄的东西并不感兴趣,他琢磨着周总这次要让自己做什么呢?莫非要模仿这个X-posure做个计算骨密度的软件出来?那难度也太大了。这也并非不可能,以前做Xs555IPACS的时候周总就经常找些软件让他们模仿别人的界面。现在好多东西都有什么包装专利、外观专利、防伪专利,你一专利了,别人就不能用,好在软件还没有这样那样的限制,所以周总就总找些现成的来让他们参考,自己又不是用户,又不是医生,要是让自己绞尽脑汁去想那界面该如何布置,那还不想死人。不过好像正因为没有这些约束,助长了不正之风,终于微软忍不住指责金山抄袭Office界面,那只是“抄袭”,谈不上什么“侵权”,不知道这事后来对周总有没有影响。
他点点头对周总说:“嗯,是很不错,那我们要做些什么呢?”
“最近我正调研这软件,举一反三,看看我们有没有什么可挖掘的,可做的,但这软件还是个共享版,老是要我输入序列号,否则就不让我接扫描仪,还有很多限制,不好调研啊。你上次不是帮陈董破解了一个PVT么?这次这个,你看能不能帮我破解了。”
绝影吃了一惊,严肃地说:“周总,这可是商业软件啊!”
“别着急别着急,我们又不搞商业用途,就是自己研究研究,法律上应该说得通的。”
绝影考虑了一会说:“嗯,那好吧,不过破解这个东西,我上次也说了,没有百分之百的把握,运气还是占了很大成分。”
“这个没问题,你尽量去做,做不出来大不了就不调研了。”
绝影从周总办公室出来,拷贝了一份X-posure,这才算个像模像样的商业软件,七七八八在安装目录中安装了一大堆文件。
上次那个PVT毕竟是绝影第一次做破解,虽然最后还是破了出来,但用的还是暴力破解,那是内行人所不齿的,弄得他自己都不好意思跟别人讲,暴力破解也确实不过瘾,找出一个位置把Jxx改成Jmp就行了。这次又来了破解的CASE,还是官方的CASE,当然要好好发挥一下。这么想,他打定主意,要么做不出来,要么就把注册机做出来,网上不是那么多牛人么?一会发布个XXX注册机一会发表篇XXXX破解笔记,你说自己牛,有什么证据?以前BOSS Liu在公司,天天跟自己明里暗里比技术,自己又确实比不过他啊,没有事实说话。这次要是把注册机做出来,也跑到看雪论坛去发一篇,东西放在那里,看你BOSS Liu这次还有什么话说。
这样美好的想像着,绝影开始破解起X-posure。
上次破PVT绝影给机器上装了SoftICE,结果弄得系统异常不稳定,新版本的DriverStudio在Windows2000下莫名其妙下不了断点,老版本的4.05还算好,可系统老是莫名其妙的重启,所以破完了就重装系统。这次却又得再安装一次。
破解本身不需要对这软件研究得有多透彻,只要知道他是哪个exe在负责输入序列号就行了,还是从MessageBox下手,思路不难,麻烦的就是这SoftICE。现在随便问一个搞破解的或者搞逆向工程的,谁不知道SoftICE?SoftICE牛不牛?当然牛。正因为太牛了,所以似乎专门给牛人用,或者只能给牛人用,因为操作实在太复杂了。IceDump这些插件绝影没装,就算装了他也不会用。你想从念大二第一次用SoftICE到现在,才学到勉强能用它调试东西的程度,你说要是再加个IceDump那还不知道得学到哪年哪月。
既然IceDump不会用,就用笨一点的办法,直接拿纸把前面的代码抄上,地址、机器码、汇编代码注释什么的都一字不落地抄下来再慢慢分析。
第一天做了些准备工作,第二天绝影开始认真的破解,本来作为一个程序员,在他身上是很难找到纸笔的,甚至久而久之很多汉字都只会用电脑打不会用笔写了。但是那一天,绝影却整整写了十六张A4打印纸的代码。张厂长在一旁有点不服气,说:“上次我打印个资料,才用六张纸,都领了个周总的口头警告,怎么你一会去拿一会去拿他都不说你啊?”
“我这是工作嘛。你以为我要是有废纸会去拿打印纸?废纸早让我做演算用完了。”
下班的时候张厂长叫绝影一起走,说是去泸州面馆吃面,绝影想了想说:“你自己去吃吧,现在正是关键位置,我要好好跟一下。”
“吃了饭拿回家再跟吧,现在肚子饿,一不小心就跟飞了,那损失就大了。”
“不行不行,家里电脑还是不要装SoftICE,不稳定。”
绝影说这些的时候头也没回,张厂长有点失望,不过想想也算了,他这种情况,多半是走火入魔了,现在不要说自己,就算燕儿肯定也喊不动他。
人都走完了,绝影干脆关了公司的门,十几张打印纸的代码铺在面前,眉目也有了点,毕竟那几年水平只有那样,再加上又是国外的软件,国外软件特别是成熟的大型商业软件在反逆向工程上一直都做得很菜这是公认了的。这跟国内形成了鲜明对比。在国内,随便一个“无敌剪贴板”之类的芝麻大点的软件都壳加了一层又一层,加了壳又压缩,压缩了又加壳,什么Anti-Debug,Anti-DAsm,虚拟机,花指令,密码学加密算法凡是能沾边的能用上的都用上,用不上的创造条件也要用上。比起他们,那X-posure的序列号算法确实算得上有失水准,字符有效性的判断都很简单,要么是0-9的数字,要么是“-”,关键的算法又全部写在一个函数中,找到这个函数基本上等于大功告成。
说起来也容易,但真的找到还是费了他不少心血。SoftICE用起来实在太复杂,现在搞破解的前辈教育晚辈一般都说:“SoftICE用过吗?我们那几年,只有SoftICE用,你那OllyDBG又如何?毕竟是三环调试器,你用着是方便,可是毕竟是三环啊,对付你的办法多得很,什么检测调试寄存器,什么Hook调试API,什么浮点指令漏洞,哪像我们那时候SoftICE基本横扫天下。所以啊,工具多了,人就懒了,要学真技术,还是要在Xs555ernel上多下点工夫啊。”
所有位置找到,绝影开始琢磨这个注册机,想明天到了公司,周总问:“小绝啊,工作进展如何啊?序列号找到了吗?”他就大大咧咧拿出这个注册机说:“还行吧,注册机也写出来了,你用用看行不行吧。”这样,周总肯定又要对他刮目相看,肯定又要拍拍他的肩说:“小绝啊,从来没让我们失望过!”
其它什么难的,就是那个关键函数,虽然汇编代码不是很复杂,但这明显是高级语言写的,那些数据的计算要还原成C语言代码还是麻烦,想起网上一篇文章,好像就是介绍直接用Windows优化大师的反汇编代码写注册机,给了点思路,不如就直接用汇编语言来写注册机得了。
这样一直忙到晚上三点多,绝影用自己写的注册机生成了三个序列号,居然都能用。他才收拾好打印纸出了公司。
街上的店差不多都打烊了,只剩几家烧烤店,绝影去了离自己住处最近的一家,喝了两杯豆奶,吃了两条烤鱼,想起以前跟BOSS Liu在这里喝酒吃烧烤,自己这个CASE算是做完了,几百块的奖金基本上算到手,不知道他在成都混得如何。
回到家,绝影还是没有一点倦意,他也不想睡,现在睡了明天肯定又起不来,于是拿出写满代码的打印纸,整理好思路,打开Word,题目写上《X-posure序列号破解》,写完这篇又花了两个多小时,于是在看雪论坛上注册一个ID发上去。
看雪论坛在搞破解的人当中那可是技术的圣殿啊,所以他还算比较人道,可以不注册就去看帖子,绝影也一直没有自己的ID,这次要发文章了,才去注册一个。没想到几天以后,这篇帖子居然被看雪大大批准为精华贴,更没想到,几个月以后,这篇帖子竟然收入了《看雪论坛精华》。
绝影洋洋得意看着自己论坛上面帖子:1,精华:1,想以后要么不发,要么就有成果了再发,发就发精华贴,100%看雪论坛精华,还说我不牛么?
这么想了,所以从那以后,绝影在看雪论坛上始终只有一篇帖子。Xs555
看书就到全文字小说站小说555 http://www.xs555.com
<a href="/User/Messages.aspx?to=admin&title=WEB-疯狂的程序员 正文 《疯狂的程序员》39"><font color="#FF0000" size="2">(章节错误我要举报给管理员)</font></a> <a href="http://bbs.xs555.com/thread.php?fid=7" target="_blank"><font color="#FF0000" size="2">(章节错误我要举报到论坛)</font></a>
<SPAN id=ad_5> </SPAN>
《疯狂的程序员》40
绝影迫不及待地把X-posure的注册机交给周总,给他的时,他努力让自己显得平静一点,但他等到的并不是周总激动的神情,他平静地说:“不错不错。这也算个小项目,这是200块奖金,你给我签张工资单。”
出了办公室,绝影感觉很不服气。200块钱奖金就不说了,自己辛辛苦苦好容易做出个注册机来,随便讲给谁,只要是业内人事,大都会发自内心赞扬他几句,就算不是发自内心,至少也会说几句恭维的话,可周总居然就像没看见一样。
所以说人跟人不同,狗和狗有异,同样一个妹妹走在学校里,西师的瞅也不瞅一眼,川大的说:“美女呀!”要是放到绝影他们学校,土匪多半会惊叫:“快看,女的!”
对周总来说,要一个注册机,要十万个序列号和要一个序列号没什么两样,反正他是自己研究又不出售,所以不管你武功有多高强技术有多高深,还按一个序列号的标准发奖金。老总做到这一地步,算是相当成功了,自己就开个类把头文件写好,具体实现就让绝影他们去写吧,至于说实现这个功能用了些啥算法啥API啥高级技术,咱就不管了,反正我接口开了,你就管给咱封装好交上了就行了,于是老总门终于从繁重的开发中解脱了出来。
绝影正心情不爽,张厂长却丢下手上的活凑过来问:“怎么了?这个破解做下来,又拿了多少奖金啊?”
“你懂啥啊?这不叫破解,叫逆向工程。”
“行了,我还不知道,现在流行这样嘛,妓女都兴叫‘小姐’,我们出个差纯粹跑腿的都叫‘张工’,‘绝工’,你那破解当然换个学名叫‘逆向工程了’”。
听他这么说,绝影气又不打一处来,所以说没问化,真可怕,还是物以类聚人以群分。公司里自从BOSS Liu走后,基本没人再跟自己讨论技术上的东西,周总虽然是做技术出生,开始的时候绝影还对他敬仰有加,可不多的几次亲眼看到周总写的代码,又觉得和他神奇的经历有点不相符合,又想大概是真人不露像,露像不真人吧。再等,还是一直没见周总出什么大成果。
好在自己还有个汇编群,把这逆向工程的成果往上面一发,果然激起强烈反响,有互相讨论技术的,有向他请教的,几个小弟当场就冰天雪地裸体跪求:“绝影大哥,收我做徒弟吧!”
下面的人一奉承,绝影便真觉得自己是个大哥,想当初在学校的时候多多少少有同学来找他帮忙写程序,做课程设计,学校就是和公司不一样,进了公司特别是资本家的公司,你就不要指望能花一顿饭一桌酒来请谁帮你做CASE,这样的人老早就被BOSS开了,于是绝影的一身武功就给废了大半,再加上如今周总又对他的CASE不感兴趣,高处不胜寒啊,还是在群里总算能找到一点感觉。
自从做出个注册机来,先到群里宣传一通,又给BOSS Liu打个电话,然后管他认识的还是不认识的,都把看雪论坛那精华贴的地址发过去,其实包括BOSS Liu在内大部分人都还是看不懂的,即时能看懂,既然都懂了,还去看它干啥。不过出于礼貌,大家都还是或多或少说些让绝影觉得好听的话。
于是绝影觉得自己牛B起来。
于是在群里,他就理所当然摆出一副大哥模样,别人正在探讨什么什么,他凑过去说:“你这个,错误太明显了,应该如此如此,这般这般。”其实到底是不是如此这般,他多半也不知道,要是以前,他会说“可能是如此如此,这般这般”,现在便成了“应该”。
所以人啊就是这样,明明你摸遍全身就一块二毛钱,但是你可以穿得周五正王,说话大大咧咧,举手投足一副一切尽在我掌握中的样,开口闭口就是中石化中石油国航移动连通的合同定下来了,接个电话就若无其事地平静地说:“没啥,我账上又多了两亿。”
你这么做,别人就真把你当大款了。说现在到处都是谁谁谁冒充什么大老板骗了多少多少工程款,骗了多少多少订金,说谁谁谁冒充富商骗了多少多少美女,这不是因为骗子有多聪明,是因为上当的人实在太笨。所以说世上是本没有大款的,忽悠得多了,也便成了大款;程序员本没什么高手的,吹捧的人多了,也便成了高手。
绝影也是如此,在群里被公认成牛人了,于是找他帮忙的,指点的人多了起来,成了公众人物,反而又有了压力,本来技术就有限,吹牛吹到了无限, 一次两次你跟别人说自己忙没时间,但这个借口破绽太大,总不可能永远都没时间,再说了,上群里吹牛的时间都有还不能抽出一点来帮别人解决实际问题?以前在学校的时候虽然也有人来找自己帮忙,但那时候毕竟自己还是有点真本事,解决那帮同学的问题还算游刃有余。现在群里的毕竟还有些是专业人士,你就不要指望自己还能忽悠住他们。
实在没办法,只好把做DAP的时间拿出来研究问题。
X-posure的注册机做出来,周总没再给绝影布置什么新任务,那意思就是继续做DAP。这也正戳到绝影的软肋上。做吧,进展起来难度实在太大,程序写得越多,代码越乱,今天写了,明天又找不着北;不做吧,公司和自己还没这个先例,一个CASE,居然做了几个月才说做不出来。再说了,比起逆向工程,这正向的开发能难到哪去,不存在什么解决不了的技术难题。
正如周总说的:DAP啊,是个长期的项目,慢慢来吧。倒是周总沉不住气了,有几次忍不住问:“怎么样啊?DAP进展如何了?预计还要多长时间啊?”
这个时候,绝影只有打着哈哈说:“嗯,一切都在计划中,但是估计还需要点时间,主要是人手不够啊。”
反正这DAP又不赶时间,正好拿它打个幌子做些自己的事情。
所以人活着累,自己技术菜,首先是被同行、老板看不起,挣的钱不多,还被老婆同学看不起。几个同行走到一起别人都兴高采烈讨论inline hook,你插一句:SSDT用什么函数获取?你自己都不好意思。
混了几年,好不容易技术高了点,也就是比上不足比下有余吧,顶级高手又不屑你,正如美女都不在街上逛一样,高手根本不混群。美女去哪里了?多半在私家车上。高手去哪里了?多半在写程序。即使这样,菜鸟也有有求于你的时候,菜鸟毕竟是菜鸟,出招都不按常理,有些问题问得你自己都吃紧,但是没办法,谁叫你是程序员呢?谁叫你技术比人家高点呢?你就得想办法帮别人解决。
再混几年,终于到顶级高手的地步了,突然发现群里没法混了。你想一个资格的大学教授可能去幼儿园教小朋友吗?即使你给他8000块钱一个月,人家还不一定愿意去教,好钢得用在刀刃上啊。于是自己来研究问题。先前那两个阶段,都还有很多东西可以参考,群上啊,网上啊,什么问题都能找到点资料。现在自己到了这个阶段,啥事都只能靠自己,费尽心机研究点成果出来又不敢独自偷偷享用。谁叫你是高手呢,你总得经常发表点研究成果吧。这是什么精神?这就是新时代的雷锋精神。
在公司干私活还是相当冒险的,得眼、耳、手、脑并用。眼睛要盯住显示器,耳朵要听周总的动静,手要敲键盘,脑袋还得想问题。做逆向和写程序又不一样,写程序一般就开个VC,再把工程的Release目录打开以便运行,做逆向至少得开个SoftICE;一个或多个记事本,随时记录断点或者数据位置;一个目标exe目录,方便观察;一个W32DAS方便反汇编顺便计算RVA;一个UltraEdit查看文件十六进制;一个Exescope分析目标文件的资源和导入表。
在这种情况下,如果周总突然出现那是相当危险的。好在从周总办公室出来到绝影电脑上的视线并不好,于是再把VC打开,装入DAP的Workspace,随便找个比较大的cpp文件,定位到一个复杂的函数中,一有情况,力马切换。
在这种艰苦的条件下,绝影还是帮群里的人解决了一几个问题,最著名的要算浩方多开补丁。以前做PVT的破解,用CODEFS做的文件补丁,但觉得这样不爽,你给别人发布出去还得加上一个几M的exe文件,尽管现在硬盘做得越来越大,价格越来越便宜,但是绝影他们这些用汇编的还是常常比谁的文件生成得小,谁的程序效率高。
于是在摸索一下,琢磨着还是内存补丁好。反正罗云彬的书上都有现成的内存补丁的例子,不过就是几个调试API调用一下。要换成BOSS Liu肯定觉得这调试API难得不得了,其实不是它难,是他不用他,不管什么技术,只要你必须去用它,学起来也就不难了。
做逆向和写程序不一样,还有一点就是写程序你也能知道大概的进度,这个CASE有多大,要多久能做完,心中也有个眉目,就算最后忙了几个月没做出来,至少也写了一大堆代码,多多少少算是给后人做了点贡献,留了笔财富。逆向工程不一样,运气好了,灵感来了,断点位置对了,十分钟搞定。断点找不出来,任你雨打风吹在那做个十年八年什么也没有,成果为0。
星期一的例会,周总终于对绝影的进度有点不满意,他说:“小绝啊,这DAP都做了这么久了,还没个像样的东西拿出来。本来我计划在十月份做完,十一月我们还有个比较大的CASE要出差,你说说现在怎么办吧?”
绝影听了头上直冒汗,明显压力就来了,幸好周总还不知道自己在公司做私活,要是知道,肯定比BOSS Liu的结果要惨。尽管BOSS Liu后来也觉得他现在的公司不错,比绝影他们公司好得多,但是人就是这样啊,呆在公司就好比跟妹妹谈恋爱,最后实在谈不下去了,但你对她说分手和她对你收分手却有本质的区别。分了收,尽管你后来又有了更好的妹妹,总之比她好,可是当初分手却是她说出来的,让人憋得慌。
于是他战战兢兢地说:“嗯。这次主要责任还是在我,在开始前对项目缺少正题的把握,错误地估计了形势,设计也没做好,做到现在确实是进退两难。”
说完,他等待着周总的严厉批评。等了几十秒,周总突然开口说:“算了,这也不能完全怪你。只要你能够面对失误有勇气承担责任,不错了。其实我也有一定责任,你经验还不足就放你一个人去负责。这事我们现在就不说了,先放一放,说下我们十一月的CASE,等今年完了,我们重新计划一下DAP的事情。”
绝影本来已经做好死的准备,没想到又没死成,这感觉就像临上刑场突然包大人的捕头策马奔来,高呼:“刀下留人!皇上有旨,刀下留人!”想起当初BOSS Liu离开公司,其实现在看来他犯的错误也并不严重,计算旷工半天也绝不至于到解雇的地步,问题就在他当初给自己旷工找了个借口。所以说,人还是要老实啊,至少自己的责任就要自己来承担。这么想,他忙顺着周总说:“周总说得对。往后还要周总不论在设计上和实施上都多给些意见。”
周总耸了耸鼻子缓缓说:“我们还是来说下十一月的CASE吧。其实也就是个Xs555IPACS的安装。为什么说比较大呢,因为这次Xs555IPACS是装在体检车上,这是第一次,所以这次我会亲自去。而且这次地方比较远,在南京。这次CASE参与的单位比较多,有汽车改装厂、DR硬件生产商、医院还有我们。时间也会比较长,预计会有一两周。我们这次去两到三个人,具体小绝和小张谁去,或者两个一起去我暂时还在考虑,我想问你们都有问题吗?”