该项目为 CP/M-86、MS-DOS 和 CP/M-80 提供了一个全面、有趣且可复现的交叉开发环境。它允许现代 Linux 和 macOS 用户使用精选的经典工具集,为这些传统平台编译 C、汇编和 BASIC 代码。 主要功能包括: * **集成工具链:** 包含 Digital Research (DR) 工具(ASM86、LINK86、CB86)、Microsoft 汇编工具(MASM、Link)以及多个版本的 Aztec C 编译器(支持 K&R 和 ANSI 标准)。 * **仿真运行:** 利用 `emu2` 和 `tnylpo` 直接在现代 Shell 中执行传统的开发工具。 * **可复现性:** 通过 `fetch_tools` 脚本管理依赖并进行本地缓存,确保即使上游源失效,构建过程依然能够正常运行。 * **容器化:** 提供 Dockerfile 以实现可移植、自包含的构建环境。 * **便捷性:** 所有工具均已封装以便于命令行访问,并支持自动库链接和启动对象管理。 该环境不仅“兼容 Y2K 问题”,还针对现代工作流进行了修补和优化,是复古计算爱好者或从事传统平台交叉开发的理想选择。详细文档与源代码可在 GitHub 上获取。
认为移动平台凭借卓越的性能赢得了平台之争,这是一种误解。除了少数依赖硬件的应用(如 UPI、专业级相机或大型游戏)外,大多数移动端软件的功能现代网页应用完全能够实现。
这场战争真正的赢家是掌握了“分发渠道”的守门人(苹果和谷歌)。通过掌控应用商店、安装按钮以及用户的回流路径(推送通知),他们让网页端最大的优势——即由维护者自主控制更新——变得无关紧要。
“网页壳”(web-shell)桌面应用(如 Slack、VS Code 和 Spotify)的成功证明了开发者更倾向于网页的自主权;这些应用能够占据主导地位,是因为它们允许维护者按照自己的节奏发布更新,而无需受到商店的干预。反之,渐进式网页应用(PWA)在移动端的失败并非技术缺陷,而是苹果刻意压制分发渠道的结果。
归根结底,平台之争从未关乎运行时的优劣,而是关于从开放、以维护者为主导的分发模式,向封闭、以守门人控制的模式的转变。一旦渠道被掌控,守门人便开始提高准入门槛,通过不断收紧政策,彻底扼杀了业余开发者生态。
安全研究员 Kasra 近期进行了一项非正式且自费(1,500 美元)的评估,旨在测试各类大语言模型(LLM)识别常见“失效的访问控制”漏洞的能力。该挑战涉及一个具有加固 API 但配置错误且可公开访问的 Firebase 后端的 React Native 应用。
通过对多个模型进行 10 次迭代测试,结果显示各模型在能力和安全护栏方面存在显著差异:
* **GPT-5.5** 表现最佳,在 70% 的运行中成功解决了该挑战。
* **DeepSeek V4 Pro**(30%)和 **Claude Sonnet 4.6**(20%)展现了一定潜力,但在预算限制和目标聚焦方面表现欠佳。
* **Gemini** 及其他模型往往因触发安全相关的直接拒绝,或过度关注 API 而非识别 Firebase 配置错误,导致测试失败。
研究员指出,许多模型难以区分道德安全研究与违禁活动,往往默认采取严格的限制性措施。尽管成本高昂且面临 API 不稳定及基础设施费用等技术障碍,该实验仍突显了不同大语言模型在自主漏洞评估方法上的差异。完整的测试工具集和挑战文件已公开,供有兴趣进行自行评估的人员使用。
本项目详细介绍了对 Yamaha THR10c 吉他音箱进行逆向工程与修改的全过程。目标是为音箱模拟功能增加一个开关,并实现在插入耳机时强制内置扬声器保持发声。
在识别出 PCB 上的 UART 和 JTAG 接口后,作者焊接了必要的连接器,并使用 FTDI FT2232H 模块通过 OpenOCD 和 GDB 与音箱处理器进行连接。通过转储 2 MiB 的闪存并使用 Ghidra 对代码进行分析,作者绘制了内存布局并定位到了辅助程序镜像(固件)。
为了实现自定义功能,作者开发了一个工具,将固件重新链接为 ELF 对象,从而能够注入补丁。作者成功拦截了按键处理程序和 DSP 命令以添加所需功能,包括在绕过音箱模拟时通过增益调整来解决音量问题。
最后,作者逆向工程了该设备的 MIDI SysEx 更新协议,使得修改后的固件可以通过 USB 进行烧录,无需再进行额外的硬件改造。该项目最终打造出一台运行自定义固件且功能完备的音箱,满足了作者最初的需求。