用 ImHex 逆向 FEZ 游戏的未知存档格式
Reverse Engineering Unknown File Formats with ImHex

多年来,面对如何逆向未知文件格式的提问,我通常只能建议查看反编译代码。这次,我将以游戏 FEZ 的自定义二进制存档为例,展示如何从零开始,利用 ImHex 的 Pattern Language 编写完整的格式定义。通过反编译 C# 编写的游戏代码,定位到 PCSaveDevice 和 SaveFileOperations 等关键类,我们逐步解析了时间戳、布尔标志以及七位编码的字符串序列。最终,这些发现被转化为 ImHex 中的结构化模式,让原本晦涩的十六进制数据变得清晰可读。
多年来,我无数次被问到同一个问题:如何逆向一个未知的文件格式?