Dvurechensky/Freelancer.Reverse.Runtime

GitHub: Dvurechensky/Freelancer.Reverse.Runtime

这是一个为经典游戏《Freelancer (2003)》构建运行时层,通过代理系统 DLL 来实现安全逆向、文档化和功能扩展的 C++ 项目。

Stars: 0 | Forks: 0

# Freelancer.Reverse.Runtime ### 我正在构建一个 **基于 Freelancer (2003) 的运行时层** ![Status](https://shields.dvurechensky.pro/badge/status-active-2ea043) ![Stage](https://shields.dvurechensky.pro/badge/stage-runtime--reconstruction-1f6feb) ![Language](https://shields.dvurechensky.pro/badge/language-C%2B%2B-00599C) ![Reverse](https://shields.dvurechensky.pro/badge/reverse-engineering-important) ![Platform](https://shields.dvurechensky.pro/badge/platform-Windows-0078D6)
🌐 Language: 🇷🇺 Russian | ✅ 🇺🇸 English (current)

About the Project 🎇




`Freelancer (2003)` 是一款由 `Digital Anvil` 开发、Microsoft Game Studios 于 `March 4, 2003` 发行的 `American` `space` `trading` and `combat` `simulation` 游戏。 本项目的目标不仅仅是分析原始二进制文件,而是**通过兼容的代理 DLL、运行时组件和逆向工程,逐步重构、文档化并安全扩展游戏和服务器的行为**。 我不采用混乱的内存修补,而是遵循一种更具可控性的方法: 我构建**兼容的系统模块**,这些模块可以: - 替换原始 DLL - 作为引擎行为的观察点 - 通过自定义逻辑进行扩展 - 演变为一个干净且可控的 C++ 层 ## 项目构想 其理念是**不破坏原始引擎**,而是**在其周围构建一个工程层**,从而允许: - 了解 Freelancer 内部的实际工作原理 - 重构 DLL 系统契约 - 安全地注入新功能 - 文档化遗留引擎的架构 - 将“黑盒”二进制文件转换为**可控的 C++ 系统** 从本质上讲,这是通往 **Freelancer 运行时架构部分重构** 的一条路径。 ## 当前进度 该项目已从构想阶段发展为**可工作状态**。 ### 已完成 #### `dacom.dll` - [x] 创建了可用的代理模块 [`dacom.dll`](libs/game/dacom) - [x] 实现了通过 `dacom_addon.dll` 加载原始 DLL - [x] 重构并代理了核心导出函数 - [x] 添加了函数参数的日志记录 - [x] 确认实际参与了以下工作: - [x] CRC / 字符串哈希 - [x] 字符串比较 - [x] 内部遥测 / 日志记录层 - [x] 系统初始化 ##### 👍 已验证 - 模块在游戏中成功加载 - 导出函数被正确调用 - 代理实现不会破坏启动过程 - 日志证实 `dacom.dll` 的实际运行时使用情况 - 不与依赖内存修改的遗留插件兼容 ## 项目方法 ## 当前方向 该项目目前正朝着以下方向发展: - 重构其他系统 DLL - 构建统一的运行时基础设施 - 创建可复用的代理组件 - 形成结构化的逆向工程文档库 ## 当前组件 ### 逆向 / 代理模块 - [`dacom`](libs/game/dacom) — 用于涉及 CRC、字符串工具和遥测的系统 DLL 的可用代理模块 ### 现有的 DLL 钩子 - [`custom`](libs/custom) — Freelancer 修改的钩子集合(由我或他人编写,并由我重建),旨在将来集成到 `Reverse / Proxy Modules` 中 ## 愿景 长期目标是将 Freelancer 的封闭运行时转换为一个**文档化、可研究且部分可控的 C++ 系统**,使开发者能够将其作为一个工程架构而非“黑盒”来使用。 ## 注意 本项目出于研究目的进行开发,不分发原始游戏资源或二进制文件。
标签:C++, DLL劫持, DLL注入, JARM, Windows API, 二进制分析, 云安全运维, 云资产清单, 代理DLL, 代码重构, 内存分析, 太空模拟, 客户端加密, 扩展性开发, 数据擦除, 架构文档, 流量审计, 游戏安全, 游戏开发, 游戏引擎, 游戏模组, 游戏逆向, 系统级编程, 经典游戏, 运行时重构, 逆向工程