30年未删!Windows 11如何运行Windows 95内存管理器:大佬详解背后故事
2026-10-19 15:17:56
10月19日消息,据报道,Windows 11 26H2至今仍保留着Windows 95的内存管理器代码,而微软工程师<span style="font-weight:bold;">Raymond Chen</span>早在2010年就解释过这段代码的来龙去脉。
故事要从《模拟城市:我是市长》说起,在早期Windows版本中,应用程序向系统申请内存,用完释放后如果还在读这块内存,就是UAF释放后使用漏洞。
原版游戏在Windows 3.x版本上就有这个bug,但却没有出问题,因为释放后的内存并不会真正回收。到了Windows 95测试版,内存管理方式变了,游戏直接崩溃。

微软没等游戏厂商修复,而是自己在Windows 95里写了特殊代码,当检测到模拟城市运行时,内存分配器会切到特殊模式,不立即释放内存。
模拟城市的hack是一次性的,但其他老软件也有类似问题,一些程序依赖Windows 95内存管理器的特性,比如读已释放内存时还指望读到旧值,到了后续版本Windows上直接崩溃。
微软的解决方案叫EmulateHeap,把应用的堆调用从HeapCreate到LocalLock到GlobalReAlloc全部重定向到Windows 95内存管理器的模拟版本。

Chen说这个方案极其简单但完全疯狂,更疯狂的是实现方式,微软直接拿了一份Windows 95内存管理器源代码,重新编译后塞进兼容性框架。用Chen的话说,Windows应用兼容性框架里藏着“Windows 95内核的一大块”。
这段老代码只在EmulateHeap为某个应用启用时才从硬盘加载,电脑不会在后台偷偷跑Windows 95。

相关阅读
-
派币注册教程:详细流程与操作指南(中文版)链知识 2026-10-19 15:14:27
-
iPhone 18 Pro系列国内销量突破408万台,三款苹果手机力压华为夺得前三名!链资讯 2026-10-19 15:12:34
-
探索9.1樱花动漫ppt网站直接观看的直播视频软件链资讯 2026-10-19 15:10:06
-
币圈投票池是什么意思?最新热门币安投票池详细介绍链知识 2026-10-19 14:54:13
-
探索9.1蘑菇隐藏路径3秒跳转的直播视频软件新玩法链资讯 2026-10-19 14:53:31
-
gopal是什么意思及其文化背景解析链百科 2026-10-19 14:44:31
-
揭秘蘑菇隐藏路线更新入口:直播视频软件的新功能探索链资讯 2026-10-19 14:36:54
-
币某安候选代币选择标准与评估指南【2024最新版】链知识 2026-10-19 14:33:57
-
GOS币简介:什么是GOS加密货币及其应用解析链百科 2026-10-19 14:30:15
-
宇树科技市值蒸发超50%后股价大涨10%,最新报价471元/股链资讯 2026-10-19 14:23:37