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