二月天 > 古代言情 > 现实源代码:致命BUG > 第三章 力量代价?生存之机

第三章 力量代价?生存之机(2 / 2)

他深吸一口气,平复了一下激动的心情,然后从口袋里掏出仅有的一枚皱巴巴的一元硬币。这是他最后的“启动资金”。

他没有立刻投币,而是再次集中精神,“看”向售货机的支付处理代码流。他需要找到那个负责累加amountPaid变量的关键代码段,并锁定它。

找到了!

//EventHandler:CoinInsertedfunctiononCoinInserted(coinValue){currentTransaction.amountPaid+=coinValue;//AccumulateamountupdateDisplay(currentTransaction.amountPaid);//...waitforitemselectionortimeout...}

就是这里!currentTransaction.amountPaid+=coinValue;这一行!每次投币,都会在这里进行累加。

苏晨的计划是:投入一元硬币,让amountPaid先变成1。然后,不等他选择商品,立刻用意念修改这个amountPaid变量,把它改成一个天文数字,比如999999!最后,再选择一个价格最低的商品。

这样一来,calculateChange(999999,1.5)在计算时,极有可能因为整数溢出,导致changeDue变成一个同样巨大的正数或者一个负数,取决于溢出方式,但无论如何都会出错,如果设计不完善的机器的物理找零模块可能会因此卡死,或者疯狂吐币?!

当然,也可能直接报错死机,或者找零模块有物理上限,只吐出有限的硬币。

但不试试怎么知道?

苏晨眼中闪过一丝疯狂。他感觉自己的血液都在燃烧,疲惫感似乎都被这股刺激和期待冲淡了不少。

他再次确认了一下周围没人,然后将那一元硬币,郑重地投进了投币口。

“哐当”一声,硬币落入机器内部。

售货机的显示屏上,金额从0.00跳到了1.00。

就是现在!

苏晨屏住呼吸,将全部残余的精神力聚焦,如同烧红的烙铁般,狠狠地“烫”向那段代码中代表amountPaid的内存地址!

他的脑海中只有一个念头——“赋值!999999!!!”

嗡!熟悉的剧痛再次袭来,甚至比上一次更加猛烈!苏晨闷哼一声,身体晃了晃,几乎站立不稳,脸色瞬间变得惨白。

但他强忍着眩晕,死死盯着售货机的代码流。

他“看”到,代表amountPaid变量的那段内存代码,剧烈地扭曲、闪烁,原本存储的数值1.00被一股无形的力量强行抹除,然后,一个庞大到几乎溢出显示区域的数字999999.00被硬生生塞了进去!

成了!

苏晨心中狂喜,顾不上剧痛和虚弱,颤抖着伸出手指,按向了面板上一瓶标价1.5元的矿泉水按钮。

“嘀。”

按钮按下,选择确认。

接下来,就是见证奇迹……或者见证失败的时刻!

找零计算模块开始运行……读取被篡改的amountPaid……进行减法运算……

苏晨的心提到了嗓子眼,死死盯着售货机的出币口和显示屏。

下一秒,会发生什么?

是机器崩溃?是警报大作?还是……

他期待的“奇迹”?

时间,仿佛在这一刻被无限拉长。

最新小说: F级骷髅兵?校花契约后我直升大帝! 假千金接受联姻后,竹马他后悔了 清冷白月光,御兽治愈两手抓 修仙老祖娇又软,四位大佬疯狂抢 直播发癫?就她是虐文女主亲妈啊 人在狼牙强无敌 说好假婚三年!将军怎么让我生三胎? 归来你退婚,我崛起你怎么后悔了? 京夜春潮 父子偏心白月光,我转身嫁顶级豪门