11月23日,一位电脑发烧友意外揭露了一个隐藏在苹果mac classic ii rom代码中长达34年的漏洞。
令人称奇的是,这个本可能导致系统无法启动的严重缺陷,在真实硬件上却从未显现。其背后原因竟是摩托罗拉68030 CPU中一项未公开的功能,悄然弥补了这一程序错误。
这位名为Downtown Doug Brown的技术爱好者,同时也是开源模拟项目MAME的积极贡献者。他在使用MAME模拟运行Mac Classic II时注意到:当启用32位寻址模式时,系统会直接崩溃;但在24位模式下却能顺利启动——而实际设备从未表现出类似问题。

这一反常现象引起了Brown的注意。经过对苹果原始ROM代码的深入逆向分析以及对模拟环境的大量调试,他最终确认:该漏洞确实存在于原始固件代码之中,并非模拟器本身的缺陷。
问题根源在于,Mac Classic II在MAME中执行引导流程时,会跳转至内存“A1”段的一个非法地址,导致后续指令被错误加载并执行,从而引发系统崩溃。
然而,当Brown将相同代码部署到同代机型Macintosh 2ci(同样搭载摩托罗拉68030处理器)进行测试时,却发现硬件行为截然不同:那个非法地址被自动“修正”为一个合法地址,系统流畅绕过了这个潜在陷阱。
Brown强调,这种地址转换机制并未出现在68030 CPU的任何官方技术文档中。若非借助MAME模拟器暴露异常,这个bug或许将永远沉睡于历史之中——因为在真实机器上,系统表现完全正常。
他在个人博客中写道:“这说明,即使我们认为最稳定的系统,也可能藏着未被发现的问题。” 同时他也表示,这个bug影响极小:“设备运行毫无异常,多年来没人察觉。”

以上就是奇迹般的巧合!深埋了34年的苹果Mac Bug被发现的详细内容,更多请关注php中文网其它相关文章!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号