***温馨提示*** 本章有一定技术含量,无法理解的部分请无视。技术细节不理解不影响故事情节。本书后面类似情况同理。 ** 016 反击** 刘岗甚至想到:“莫非他找到了漏洞,偷偷下载了开发组的代码?” 如果真是这样,他会毫不犹豫地出来向全公司控诉漏洞组窃取他们的开发成果,并以辞职为威胁要求公司开除这个人! “这个问题的出现与输入的字符串有关,随机性很大。” 孟飞丝毫没有理会在场所有人的震惊,双目闪烁着奇异的自信光芒,一边操作一边说: “但我找到了这么一个组合,百分之百可以重现这个问题。” 他又输入同样的一句话,果然,输入法再次卡住了。 “现在我试试修复。” 说完他打开了系统下的程序目录“Program files”,然后找到螳螂软件的目录“MantisSoft”。 接下来是内网安全“IntranetSecurity”,他找到了一个文件“Misnetgate.dll”。 螳螂软件内网安全之门,这是个动态库,是刘岗他们组的产品无疑了。 打开文件,一大片密密麻麻的二进制码。这不是源码,是机器码。 在人类眼中,这就是一堆毫无意义的数字。 程序员是可以认识机器码的。但那得拿着几千页的指令手册,一条条指令去查。 有人能记住所有指令的机器码吗?或许真有这种变态,但在这个会议室里,肯定没有! 更何况记住也是没用的。指令只是指令,脱离了具体的执行逻辑和环境,那就什么也不是。 刘岗他们编译出来的最终执行码还是经过了各种混淆、虚拟化,令人眼花缭乱到死来防止被人破解的。 你孟飞就算知道这里有BUG,你能找到正确的修改点? 然而就在他强烈质疑的目光中,孟飞先是备份了文件,然后连点鼠标键盘,修改了好几串数字。 他能看懂机器码? 当然不能! 但他有最强BUG系统啊。程序进了他的眼,扫描一下BUG并不用他吹灰之力。 至于修改机器码,他瞎改一些字节就行了。 他乱改岂不是要改坏? 改坏又有什么关系?让系统瞬间修复就行。 在场这么多人看着,就没有一个人能发现其中蹊跷? 当然没有了。 大家看到的都是一堆数字,你操作又眼疾手快,谁能看清你究竟改了什么啊。 保存,重启电脑。再打开,输入同一个句子。 流畅无比,毫无卡顿! 孟飞又将修改前保留的备份文件恢复了回去,重启系统,再输入同一个句子。 果然,再度卡顿! 修改,测试,问题解决。 恢复,测试,问题再度出现。 如铁一般的证据,毫无质疑的可能。 见惯了太多大场面的罗安脸上并没有太多的震惊,但对孟飞其人的赞赏和满意是明显的。 而刘岗则焦灼得脸都快歪了。 这事他已经彻底败了。 无论这个问题有多严重、是不是BUG,也无论漏洞组是否提过这个问题他们又是否拒绝了改动。 他们的问题导致用户抱怨,被当场演示在大老板面前的时候,他就已经彻底败了。 但罗安并未放过,还在继续问孟飞: “你说你们曾经提过这个BUG,但开发组拒绝修复?” 孟飞咔咔咔地点击鼠标,一份四个月前的旧邮件居然被他给找了出来。 连欧阳聪都佩服了。时间跨度这么大的事,你是怎么给关联到一起全揪出来反攻倒算的? 他当然不知道,从扫描BUG,到寻找用户抱怨、寻找他们预先提交BUG的邮件,孟飞早都让系统一条龙服务准备好了。 “这事的原理其实很简单。 “内网安全系统阻止程序对外网的不可信任的访问。 “而这个输入法在用户输入某些字符串的时候,会试图弹出广告。 “广告的来源五花八门。 “这些来源网址大多数已经被加入信任名单,所以平时输入文字一点都不会卡。 “但有极少数广告来源网址不在白名单里,被内网安全系统阻止。 “本来阻止如果是连接直接中断,后果就是没有广告,输入还是正常的。 “但我们的安全系统阻止的方式并不是中断连接,而是挂起。” 挂起就是暂不处理了,无回复。你不知道这路通不通,只知道前面没消息。那么输入法没辙了,只能等待。 一等待就卡着了。大约要卡好几秒。 平时其他操作卡几秒还可以接受。输入文字的时候卡一下,就像说话结巴,用户就会觉得浑身难受了。 “几个月前,我们测试的时候发现安全系统阻止的方式是挂起,所以发了这封邮件给开发组。” 孟飞念出邮件的内容:“挂起的方式阻止会导致不可预知的卡顿,可能影响用户体验,建议直接中断连接。” “但开发组没有回复。” 孟飞毫不留情地钉上了这棺材盖板的最后一颗钉子。全场静默。 其实这事刘岗也很冤。 挂起还是中断这只是一个策略问题。 挂起的话,连接还活着,程序还在不会死,理论上比暴力中断更温和。 你现在说应该中断,那谁知道改成中断之后,在其他情况下会不会爆出更怪异的问题来? 漏洞组只需要提出问题和改进建议就行了。 然而这建议是否可行,放出去会不会捅娄子是不需要也没法管的。 进行修改,最终背锅的还不是开发组自己? 所以他们的人看了邮件直接不回复或者回复一通理由拒绝修改,都是合理的。 但现在说什么都迟了。用户的抱怨、现场的证据都摆在眼前。 漏洞组在四个月之前就提出了问题,准确地预言了用户抱怨的可能,而他们拒绝了修复! 如果他继续纠结应该中断还是应该挂起这种根本就无解的话题,只能让罗安觉得他没有担当,不愿意承担责任罢了。 “这个的确是我们的问题。” 刘岗沉着脸认栽。 “将来我会监督开发组这边对提来的BUG的跟进,确定每一个问题都妥善解决。” 罗安同样赞赏地点了点头: “能找到问题就好。今天会议时间太长,就到这里了。刘岗你回去写一下会议纪要和将来具体的改进措施发出来。” 罗安的风格就是如此,喜怒不形于色。 他从不会当所有人的面直接批评任何一个人。这样会让受批评的人很没面子,积极性受到打击。 但应该要解决的问题也一定得解决。表决心是没用的,必须得看到具体的能实行的措施。 光有措施也是不行的,将来还要看措施是否实行,实行的结果如何。 他会像狼一样对你穷追不舍。一旦被他盯上,那就要么你积极解决问题,要么等他来解决你。 刘岗一时感觉压力山大,沉闷地收拾东西带着开发组的人马离开。 “孟飞你留下。” 就在大家即将散去的时候,罗安忽然说了一句。 ……