微软内核工程师 Axel Rietschin 在问答网站 Quora 上回答“你怎么看待 ReactOS” 时称,ReactOS 盗用了微软授权给大学使用的 Windows Research Kernel。
Axel 认为 ReactOS 不可能是仅仅根据公开文档的净室实现。他表示自己已经看过 ReactOS 的代码树,并指出其中许多内部数据结构和内部函数名称和微软的 Research Kernel 完全相同。
他还猜想,ReactOS 的代码可能来源于过去发生的几个 Windows NT 源码泄漏事件之一。
这篇回答发布于 2017 年 11 月,但直到最近才被人们关注起来。一天前,帖子的链接被放上了 Hacker News, Axel 再次讨论了这个问题。
“宏编号名称、参数等永远不会出现在编译代码中。几乎肯定不可能的是,净室的重新实现最终会使用宏来完成同样的事情,更不用说具有相同或相似名称的宏了。”
Axel 还提到,他与一位经验丰富的内核工程师讨论了这件事,后者的团队前一段时间调查了 ReactOS 并得出了完全相同的结论:不可能。
昨天,一个名为 Filip Navara 的人在 Quora 原帖的评论中站了出来,声称自己曾参与 ReactOS,他坦承“正如其他人所指出的那样,我们确实收集了许多来源的信息。这包括 Microsoft 发布的官方 工具 包或符号文件,这些文件经常意外地包含了不打算发布的信息。”
他辩解道,“虽然有些人可能会因为我们的代码试图过于密切地复制 Windows 而皱眉,但通常有合理的理由这样做”。因为有一些驱动程序试图欺骗基准并检查当前正在运行的进程,故意不使用文档化的公共 API 来传递 WHQL 测试并避免被发现,这使得 ReactOS 总是系统崩溃,所以他们经常使用复制保护和防病毒软件来解决这些问题,“就像今天的 Windows 一样”。
Filip Navara 认为,不同之处在于他们只有很少的开发人员,所以只是习惯于模仿 Windows 所做的任何工作,而不是发明自己的变通方法。他还提到,“在我那个时代从事 ReactOS 工作的人对 Windows 内核非常了解。我们有一些地区专家,许多人继续在 InfoSec 工作,甚至在以后加入微软”。
ReactOS 始于 1996 年,至今仍在 Alpha 阶段(当前版本为 0.4.11)。有关复制源代码的声明并不新鲜,2006 年就曾出过类似问题,导致 ReactOS 团队进行了内部审计。
当时,ReactOS 开发人员 Steven Edwards 表示 ReactOS 代码必须符合“美国逆向工程标准方法”,承诺该团队将“重写所有未使用美国逆向工程方法实施的代码”,但他也明说“我们并没有禁止任何可能有泄漏来源的开发者为 ReactOS 做出贡献。”
猜你喜欢: