coolstuffinc/yugiohgx-da
GitHub: coolstuffinc/yugiohgx-da
游戏《游戏王:决斗学院》的逆向工程工具,支持资源提取和修改。
Stars: 1 | Forks: 0
# 《游☆戯☆王GX-DA》
逆向工程游戏《游戏王:决斗学院》(GBA)
## 校验和
- 此补丁程序在以下游戏版本中进行了测试:
| 哈希名称 | 值 | 文件名 | 序列号 |
|-----------|----|--------|--------|
| md5sum | `f62c47cbe08e1e3bcfcf9f1b84841a76` | Yu-Gi-Oh! GX - Duel Academy (U)(Independent).gba | BYGE |
| md5sum | `e1cc21ebf4c3be179738ebbf44f25308` | Yu-Gi-Oh! GX - Duel Academy (Europe).gba | BYGP |
```
11,12c11,12
< 000000a0: 5955 4749 4f48 4758 4441 0000 4259 4750 YUGIOHGXDA..BYGP
< 000000b0: 4134 9600 0000 0000 0000 0000 00b1 0000 A4..............
---
> 000000a0: 5955 4749 4f48 4758 4441 0000 4259 4745 YUGIOHGXDA..BYGE
> 000000b0: 4134 9600 0000 0000 0000 0000 00bc 0000 A4..............
1016336,1016337c1016336,1016337
< 00f820f0: 0d00 0000 100a 0001 0000 0000 001c 1100 ................
< 00f82100: 180f 0c01 1d1d 1d10 040d 0707 1a1d 1d1a ................
---
> 00f820f0: 0d00 0000 100a 0001 0000 0000 0017 0b01 ................
> 00f82100: 100e 0b01 1d1d 1d10 040d 0707 1a1d 1d1a ................
1016340c1016340
< 00f82130: 101a 120e 1414 000a 121a 120e 0011 1a00 ................
---
> 00f82130: 101a 120e 1414 000a 121a 120e 1011 1a00 ................
1016348c1016348
< 00f821b0: 1e1f 1c1c 1e1c 1c1c 1c1e 1c1c 0c13 0000 ................
---
> 00f821b0: 1e1f 1c1c 1e1c 1c1c 1c1e 1c1c 0913 0000 ................
1568181c1568181
< 017edb40: 0000 0000 0000 0000 486d 3700 ad88 0a08 ........Hm7.....
---
> 017edb40: 0000 0000 0000 0000 b068 3700 ad88 0a08 .........h7.....
```
- 以下版本不适用:
| 哈希名称 | 值 | 文件名 |
|-----------|----|--------|
| md5sum | `a44251198e1c9087c40262c34531a5a3` | Yu-Gi-Oh! Duel Monsters GX - Mezase Duel King (Japan).gba |
## 使用 uv 进行开发
使用 uv 安装依赖项:
```
uv sync
```
运行 CLI:
```
uv run ygogxda memory paths
```
运行本地 ROM 的集成测试(可选):
```
YGOGXDA_TEST_ROM=/absolute/path/to/game.gba uv run python -m unittest tests.test_rom_integration -v
```
或直接执行测试模块时传递它作为参数:
```
uv run python tests/test_rom_integration.py --rom /absolute/path/to/game.gba -v
```
提取卡片艺术作品:
```
uv run ygogxda sprites extract card --rom input.gba --output-dir cards
```
修补卡片艺术作品:
```
uv run ygogxda sprites patch card --rom input.gba --card-id 2 --image new.png --output patched.gba
```
提取决斗者精灵:
```
uv run ygogxda sprites extract duelist --rom input.gba --output-dir duelists
```
修补决斗者精灵:
```
uv run ygogxda sprites patch duelist --rom input.gba --duelist-index 3 --variation-index 0 --image new.png --output patched.gba
```
提取位置缩略图:
```
uv run ygogxda sprites extract location-thumb --rom input.gba --output-dir locations
```
修补位置缩略图:
```
uv run ygogxda sprites patch location-thumb --rom input.gba --period night --location-index 2 --image new.png --output patched.gba
```
将所有字符串表提取到 CSV:
```
uv run ygogxda strings extract --rom input.gba
```
将单个字符串表提取到文件:
```
uv run ygogxda strings extract --rom input.gba --table card_names_en --output card_names_en.csv
```
提取 UI 字符串:
```
uv run ygogxda strings extract --rom input.gba --table ui_en --output ui_en.csv
```
修补单个字符串条目:
```
uv run ygogxda strings patch --rom input.gba --table card_names_en --index 2 --text "New Name" --output patched.gba
```
从编辑后的 CSV 批量修补字符串条目(偏移量将自动重新生成):
```
uv run ygogxda strings patch --rom input.gba --table card_names_en --csv card_names_en.csv --output patched.gba
```
标签:Duel Academy, GBA, MD5校验, Yu-Gi-Oh, 二进制分析, 云安全运维, 云资产清单, 技术栈分析, 日志审计, 游戏修改, 游戏安全, 游戏开发, 游戏性能优化, 游戏数据, 游戏漏洞, 游戏版本, 游戏研究, 游戏破解, 游戏补丁, 游戏补丁兼容性, 游戏补丁制作, 游戏补丁测试, 游戏调试, 游戏逆向, 逆向工具, 逆向工程