返回上一页  首页 | cnbeta报时: 00:10:49
深埋了34年的苹果Mac Classic II Bug被发现
发布日期:2025-11-23 23:11:50  稿源:快科技

一名电脑爱好者最近挖掘出一个存在于苹果Mac Classic II ROM代码中长达34年的Bug。令人惊讶的是,这个原本足以导致系统启动崩溃的漏洞,却从未在真实的硬件上出现,背后则是摩托罗拉68030 CPU中一个未被记录的功能,悄无声息地抵消了这一缺陷。

这位名叫Downtown Doug Brown的爱好者,同时也是开源项目MAME的忠实粉丝,他在使用MAME模拟Mac Classic II时,发现该系统在启用32位寻址模式时会崩溃,但在24位模式下则能正常启动,而原始硬件则从未出现此类问题。

这一现象激发了Brown的好奇心,在对苹果ROM进行逆向和对模拟机器进行大量取证调试后,Brown最终确认:这个bug确实存在于Mac Classic II的ROM代码中,与模拟软件无关。

问题的核心在于,在MAME中运行引导代码时,Mac Classic II会执行一条指令,跳转到一个位于内存“A1”的无效地址,导致下一条指令在错误的位置执行,从而引发崩溃。

当Brown在同一时代的Macintosh 2ci(同样使用摩托罗拉68030 CPU)上调试这段代码时,发现硬件采取了一种不同的处理方式:它将这个无效地址“巧妙地”转换成了一个有效地址,轻松跳过了这个缺陷。

Brown指出,68030 CPU的官方文档中并没有记载过这种运作特性,如果不是MAME模拟器,这个bug很可能“永远不会被发现”,因为系统启动看起来一切正常。

Brown写道:“这表明了bug可以在你认为一切都完美无瑕的地方潜伏。”他也承认,这个bug并不算大问题:“机器运行良好,没有人注意到。”

我们在FebBox(https://www.febbox.com/cnbeta) 开通了新的频道,更好阅读体验,更及时更新提醒,欢迎前来阅览和打赏。
查看网友评论   返回完整版观看

返回上一页  首页 | cnbeta报时: 00:10:49

文字版  标准版  电脑端

© 2003-2025