Hacker News 中文摘要

RSS订阅

DOS游戏《F-15 Strike Eagle II》逆向工程项目招募DOS测试飞行员 -- DOS Game "F-15 Strike Eagle II" reversing project needs DOS test pilots

文章摘要

该项目通过逆向工程,成功将1989年游戏《F-15 Strike Eagle II》的汇编代码重构为C语言,完成了所有可执行文件的代码重建、数据迁移和函数替换,即将进入移植阶段。

文章总结

这篇文章是关于一个业余项目的进展,该项目通过逆向工程,将1989年游戏《F-15 Strike Eagle II》的原始二进制文件重新构建为C源代码。目前,所有可执行文件的C代码已重建完成,数据已从汇编语言迁移到C语言,大部分汇编代码已被C语言替代,并赋予了有意义的名称。项目即将进入移植阶段,但维护运行中的游戏需要更多测试。

项目现邀请社区成员作为“试飞员”测试最新版本v0.9.1,该版本应与原游戏451.03版及沙漠风暴扩展包兼容。测试时需将新可执行文件替换原文件,并确保不启动原f15.com。游戏将跳过设置界面,默认使用MCGA/VGA显示、无声音和摇杆,但其他功能应正常。如遇到崩溃、图形错误或按键失灵等问题,请提交错误报告,并附上截图和操作描述。注意,这是逐错误重建,原游戏中的行为(如3D物体消失、倒飞时坠落等)需保留,因此报告前请确认问题是否也存在于原版中。

感谢所有贡献者,项目能取得这一里程碑离不开大家的支持。期待未来更多进展,并很高兴与大家同行。

评论总结

根据评论内容,主要观点和论据如下:

1. 逆向工程与移植进展(高认可度) - 评论1详细描述了逆向工程步骤:从DOS版反汇编到汇编,再转为二进制等效的C代码,最终移植到Linux/Windows。作者指出逆向可能引入新bug,但当前进展顺利。 - 关键引用:"First step was the full reverse to assembler... then the porting to Linux,Windows will start"(第一步是完全反汇编为汇编代码,然后移植到Linux/Windows) - "Reversing tends to bring in new bugs... but so far everything seems to work"(逆向容易引入新bug,但目前为止一切正常)

2. 怀旧与游戏体验(中等认可度) - 多位评论者回忆了童年游玩经历,如评论4、5、6、7、10,提及F-15、F-19、F-117A等游戏,以及分享键盘、无手册难起飞等细节。 - 关键引用:"I've played this game so much on a Laser 286 with VGA monochrome screen"(我在Laser 286上玩过很多次这个游戏) - "My friend and I would split responsibility and share the keyboard"(我和朋友分工共享键盘)

3. AI辅助逆向的潜力(低认可度,仅1条) - 评论3提出AI能否帮助理解反编译代码结构,并以JavaScript为例说明AI能推断意图。 - 关键引用:"Does AI fit well in trying to reason about the structure of a decompiled project when you lack symbol names?"(AI是否适合在缺乏符号名时推理反编译项目的结构?)

4. 移植便利性(低认可度,仅1条) - 评论9认为现代移植非常容易,并引用个人项目为例。 - 关键引用:"It's ridiculously easy to port games now"(现在移植游戏极其容易)

5. 游戏相似性讨论(低认可度) - 评论8、11提及类似游戏(如Janes F/A-18、Retaliator),但未深入比较。 - 关键引用:"I never played this, but I did play Janes F/A-18"(我没玩过这个,但玩过Janes F/A-18)

总结: 评论主要围绕F-15游戏的逆向工程与移植进展(核心观点),辅以怀旧回忆和少量技术讨论。逆向工程部分获得最高认可度,怀旧内容次之,AI辅助和移植便利性仅为个别观点。