016 完美的反击风暴

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