MS-DOS 4.00源代码公开过程中的Git转储失误会破坏构建并删除元数据

MS-DOS 4.00源代码公开过程中的Git转储失误会破坏构建并删除元数据 正如OS/2 博物馆的软件策展人 Michal Necasek 所指出的那样,正确的做法是将源代码转入Git 仓库,而不是提供原始存档。他提出了一个很好的观点:"历史悠久的源代码应该以 ZIP、tar 或 7z 等文件归档的形式发布,并保留所有时间戳和每个字节的原样。Git 根本就不是一个合适的工具"。将源代码扔进 Git 后,微软可能以多种方式破坏了文件,例如,Git 忽略了原始时间戳,带走了关于每个文件最后修改时间的潜在有价值的元数据。更糟糕的是,UTF-8 编码的转换把一些代码变成了乱码,破坏了构建过程。正如 Necasek 所强调的,几十年前的源代码不仅仅是文本,它本质上是二进制数据,需要完全保存,不能做任何修改。重新编码会导致程序崩溃,因为像 MASM 5.10 和 Microsoft C 5.1 这样过时的工具自然无法处理像 UTF-8 这样的 Unicode 格式,而当时还不存在这种格式。虽然 MS-DOS 4.00 代码的可用性对于研究从 MS-DOS 到 Windows 发展历程的软件历史学家来说无疑是一个福音,但 GitHubbing 方法可能会不必要地破坏将代码作为真实档案材料进行构建和分析的努力。不过,一位用户名为"starfrost"的评论者声称,他们与微软合作发布了这一版本,并在原文中表示,他们有可能获得原始 ZIP 文件。不过可能无法获得时间戳,因为"数据保护法规定源文件必须匿名"。此外,Necasek 还表示,他可以通过将代码复制到 PC DOS 2000 虚拟机并在其中运行构建过程来成功构建整个代码。因此,如果你想构建代码,这是一个不错的选择。微软更明智的做法是直接从内部备份中以干净的 ZIP 或 7z 压缩包形式提供源代码,并进行适当编码,以原始形式保留每个字节。计算机的遗产对于业余爱好者来说实在是太珍贵了。值得称赞的是,微软还额外提供了来自 Ray Ozzie 档案的测试版二进制文件、原始文档和磁盘映像,以方便用户进行仿真。 ... PC版: 手机版:

相关推荐

封面图片

微软已经放出36年前发布的MS-DOS 4.0版源代码 供有兴趣的爱好者们研究

微软已经放出36年前发布的MS-DOS 4.0版源代码 供有兴趣的爱好者们研究 由于该版本的代码是微软与 IBM 合作编写的,因此要开源也不是微软说了算,微软与 IBM 商议后双方都同意放出这部分源代码,所以 MS-DOS 4.0 版的源代码成功在 GitHub 上发布。被标记为机密的 MS-DOS 磁盘微软新建的这个存储库还包含 MS-DOS 1.25 和 MS-DOS 2.0 版的源代码,存储库被设置为存档级别,也就是用户可以浏览、检查、克隆上述系统的源代码,但不能提交任何问题或改动,毕竟这些系统现在已经没有改动的意义。有趣的是这次 MS-DOS 4.0 版源代码发布背后有一位研究人员的推动,这名研究人员收藏了大量上古文件,包括 MS-DOS 4.0 测试版的二进制文件,这个名为 Starfrost 的研究人员联系微软开源项目办公室探索发布 MS-DOS 4.0 的源代码。在 Starfrost、微软开源项目办公室以及 IBM 公司的支持下,微软开源了 MS-DOS 4.0 版的源代码,同时附加了周边资料,包括额外的测试版的二进制文件、扫描生成的 PDF 文档以及磁盘映像等。后续微软开源项目办公室将继续致力于寻找更多 MS-DOS 4.0 版的资料,有更多资料后会继续更新存储库将这些资料共享出来。最后,有兴趣的网友还可以再 IBM PC XT、较新的 Pentium 以及开源的 PCem 和 86box 模拟器中安装运行 MS-DOS 4.0 版。 ... PC版: 手机版:

封面图片

微软已经放出36年前发布的MS-DOS 4.0版源代码

微软已经放出36年前发布的MS-DOS 4.0版源代码 今天微软宣布开源 MS-DOS 4.0 版的源代码,该版本发布于 1988 年,是微软与 IBM 合作推出的操作系统,支持高达 2GB 容量的硬盘并可以使用 1MB 以上的存储器。 由于该版本的代码是微软与 IBM 合作编写的,因此要开源也不是微软说了算,微软与 IBM 商议后双方都同意放出这部分源代码,所以 MS-DOS 4.0 版的源代码成功在上发布。来源 , 频道:@kejiqu 群组:@kejiquchat

封面图片

安卓版 Telegram 构建与源代码不一致

安卓版 Telegram 构建与源代码不一致 非官方 Telegram 修改程序 Nekogram 的一名开发者抱怨官方 Telegram for Android 应用程序中的可复现构建的系统不可行。据开发者称,这个问题已经连续出现在好几个版本。 Telegram Info 的编辑人员按照指示运行了构建,并确认了问题:生成的 APK 文件与官方网站和应用程序的版本不一致。 可复现构建(Reproducible builds)确保来自 Google Play 和网站的应用程序的安装文件与发布的源代码相匹配。如果构建结果趋于一致,这意味着 Telegram 团队已经完整地发布了该应用的代码,没有添加任何隐藏功能。 可复现构建的系统很可能是被意外破坏的,将来会被修复。 Telegram Info

封面图片

源代码审计和静态代码分析

源代码审计和静态代码分析 Aura 是一个静态分析框架,旨在应对 PyPI 上发布的恶意包和易受攻击的代码不断增加的威胁。 Aura 的架构基于一个强大的插件系统,您可以在其中自定义几乎所有内容,从一组数据分析器、传输协议到自定义输出格式。 项目目标: *在上传到 PyPI 的包上提供一个自动监控系统,对可能表明正在进行的攻击或代码中的漏洞的异常发出警报 *使组织能够对源代码进行自动安全审计并实施安全编码实践,重点是审计 3rd 方代码,例如 python 包依赖项 *允许研究人员大规模扫描代码存储库、创建数据集并进行分析,以进一步推进易受攻击和恶意代码依赖项领域的研究 功能列表: *适用于分析恶意软件,保证零代码执行 *通过重写 AST 树的高级反混淆机制持续传播、代码展开和其他肮脏的技巧 *递归扫描自动解压 zip、wheels 等档案并扫描内容 *还支持扫描非 python 文件插件可以在“原始文件”模式下工作,例如内置的 Yara 集成 *扫描硬编码机密、密码和其他敏感信息 *自定义差异引擎 - 您可以比较不同数据源之间的变化,例如对 PyPI 包进行域名仿冒与所做的变化 *适用于 Python 2.x 和 Python 3.x 源代码 *高性能,旨在扫描整个 PyPI 存储库 *以多种格式输出,例如纯文本、JSON、SQLite、SARIF 等…… *在超过 4TB 的压缩 Python 源代码上进行测试 *Aura 能够报告代码行为,例如网络通信、文件访问或系统命令执行 *计算“光环分数”,告诉您源代码/输入数据的可信度 *还有更多…… | #框架

封面图片

使用 DOS 调试器进行编程 |MS-DOS以及Windows 98都带有调试器程序。 命名可用于处理程序集 语言说明和机器代码

使用 DOS 调试器进行编程 |MS-DOS以及Windows 98都带有调试器程序。 命名可用于处理程序集 语言说明和机器代码。在 MS-DOS 版本 6.22 中,这 程序已命名并且通常存在 在。在Windows 98上,该程序是 通常出现在。是的 面向行的调试器,支持各种有用的功能 使用和调试由机器组成的二进制可执行程序 法典。DEBUG.EXEDEBUG.EXEC:\DOS\DEBUG.EXEC:\Windows\Command\Debug.exe 在这篇文章中,我们将了解如何使用此调试器程序来 组装一些最小的程序,将一些字符打印到 标准输出。我们首先创建一个 7 字节的程序来打印 单个字符。然后我们创建一个 23 字节的程序来打印 “你好,世界”字符串。这篇文章中提供的所有步骤都很好用 Windows 98也是如此。

封面图片

Meta发布Sapling,一种使用源代码控制的新方法。 ​​​

Meta发布Sapling,一种使用源代码控制的新方法。 ​​​ Sapling是Meta开发和使用的源代码控制系统,特别强调可用性和可扩展性。Git和Mercurial用户会发现许多基本概念都很熟悉,并且像了解您的存储库、处理大量提交以及从错误中恢复这样的工作流程要容易得多。 当与Sapling服务器和虚拟文件系统(尚未公开提供)结合使用时,Sapling可扩展到包含10个数百万个文件、提交和分支的存储库。虽然在Meta内部它主要用于我们的大型monorepo,但Sapling CLI还支持克隆Git存储库,可供个人开发人员使用与GitHub等合作

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人