
快科技11月23日音问kaiyun中国官方网站,又名电脑可爱者最近挖掘出一个存在于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并不算大问题:\"机器运转致密,莫得东说念主注重到。\"