这是一个用于修改《英雄无敌3》游戏内存的工具,从原始 C++ 版本 (h3.cpp) 迁移到现代 C# WPF 应用程序。
-
Visual Studio 2019/2022 或 Visual Studio Build Tools
- 需要 .NET Framework 4.8 开发者工具包
-
或者 安装 .NET Framework 4.8 Developer Pack:
项目已配置好 VS Code 调试支持,但需要先安装 .NET Framework 4.8 Developer Pack。
快捷操作:
Ctrl+Shift+B- 构建项目F5- 启动调试
调试配置说明:
启动 H3Hacker- 构建并启动程序附加到 H3Hacker 进程- 附加到已运行的程序附加到任意 .NET 进程- 选择任意 .NET 进程附加
运行以下 PowerShell 命令:
# 下载 .NET Framework 4.8 Developer Pack
$url = "https://download.visualstudio.microsoft.com/download/pr/014120d7-d689-4305-befd-3cb711108212/0fd66638cde16859462a8243a866db27/ndp48-devpack-enu.exe"
$output = "$env:TEMP\ndp48-devpack-enu.exe"
Invoke-WebRequest -Uri $url -OutFile $output
Start-Process $output -Wait| C# 文件 | h3.cpp 行号 | 说明 |
|---|---|---|
Model/Hero.cs |
1051-1906 | 英雄数据读写 |
Model/EquippedItem.cs |
1160-1252 | 装备槽位 |
ViewModel/SpellViewModel.cs |
66-137, 2912-2965 | 魔法系统 |
GameMemory/GameMemoryManager.cs |
991-1100, 2920-2942 | 内存管理 |
GameSettings/Constants.cs |
各常量数组 | 游戏常量 |
| 偏移量 | 十进制 | 说明 | h3.cpp 行号 |
|---|---|---|---|
| 0xA6 | 166 | 基础技能 | 1410 |
| 0x6E | 110 | 生物槽位 | 1365 |
| 0x1B1 | 433 | 背包物品 | 1293 |
| 0x3C7 | 967 | 已学魔法 | 2939 |
| 0x40D | 1037 | 可用魔法 | 2940 |
| 0x2E | 46 | 经验值 | 1244 |
| 0x32 | 50 | 等级 | 1300 |
| 0x10A | 266 | 装备槽位 | 1160 |
| 0x453 | 1107 | 主属性 | 1322 |
| -0xB | -11 | 魔法值 | 1347 |
| 0x2A | 42 | 移动力 | 1363 |
| 0x492 | 1170 | 英雄内存大小 | 1136 |
- Heroes3.exe (中文版)
- Heroes32e.exe (英文版)
- h3wog.exe (WOG版本)
- H3Era (ERA版本)
- VCMI
MIT License