惊人巧合!34年苹果Mac Bug终被发现
快科技11月23日消息,一位电脑爱好者近期发现了一个隐藏在苹果Mac Classic II ROM代码中长达34年的Bug。
令人惊奇的是,这个本会致使系统启动崩溃的漏洞,在真实硬件上却从未出现过。原因是摩托罗拉68030 CPU有一个未被记录的功能,悄然抵消了该缺陷。
这位名为Downtown Doug Brown的爱好者,也是开源项目MAME的忠实粉丝。他在使用MAME模拟Mac Classic II时,发现系统在启用32位寻址模式时会崩溃,而在24位模式下能正常启动,且原始硬件从未有此类问题。

这一现象引发了Brown的好奇。他对苹果ROM进行逆向分析,并对模拟机器做了大量取证调试,最终确定:该bug确实存在于Mac Classic II的ROM代码中,与模拟软件无关。
问题的关键在于,在MAME中运行引导代码时,Mac Classic II会执行一条指令,跳转到内存“ A1 ”的无效地址,使下一条指令在错误位置执行,进而导致崩溃。
当Brown在同时代同样使用摩托罗拉68030 CPU的Macintosh 2ci上调试这段代码时,发现硬件采用了不同的处理方式:它把这个无效地址“巧妙地”转换成有效地址,轻松避开了这个缺陷。
Brown指出,68030 CPU的官方文档未记载过这种运作特性。若不是MAME模拟器,这个bug很可能“永远不会被发现”,因为系统启动看似一切正常。
Brown写道:“这表明了bug可以在你以为一切完美的地方潜伏。”他也承认,这个bug不算大问题:“机器运行良好,没人注意到。”

本文仅代表作者观点,版权归原创者所有,如需转载请在文中注明来源及作者名字。
免责声明:本文系转载编辑文章,仅作分享之用。如分享内容、图片侵犯到您的版权或非授权发布,请及时与我们联系进行审核处理或删除,您可以发送材料至邮箱:service@tojoy.com



