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