N0zoM1z0/yosuga-no-sora-entis-tools

GitHub: N0zoM1z0/yosuga-no-sora-entis-tools

一套用于解包和转换《悠之空》Entis/ERISA 私有资源格式的 Python 逆向工程工具与文档。

Stars: 0 | Forks: 0

# Yosuga no Sora Entis 资源工具 用于提取和转换《*Yosuga no Sora*》使用的 Entis/ERISA 资源的独立 Python 工具。 本代码库包含逆向工程笔记、详细说明文档以及相关脚本,用于: - 解包 `.noa` 存档; - 解码存档内打包的 ERISA-N 条目; - 将静态 `.eri` 图像转换为 PNG; - 将 `.mio` 语音、BGM 和音效转换为 WAV; - 从 `opening.mei` 中提取音轨; - 复制独立的 MP3 音轨; - 验证提取和转换报告,包含文件大小、哈希值以及媒体头部检查。 不包含任何游戏资源文件。 ## 状态 已支持: - CG/背景/UI 图像:`.eri -> .png` - 语音/BGM/SE:`.mio -> .wav` - 开场动画音频:`.mei -> .audio.wav` - 独立 MP3:直接透传复制 - NOA 存档提取,包含已打包的系统资源 当前版本暂不支持: - 完整的 MEI 视频重建。MEI 视频流已在 `mei_extract.py` 中进行了文档记录和部分探测,但精确的 Diffe-frame 播放重建尚未完成。 ## 环境要求 - 推荐 Python 3.11+ - Pillow - cffi 安装 Python 依赖项: ``` python3 -m pip install pillow cffi ``` ## 用法 将这些工具指向您本地的游戏目录。您可以显式传递 `--game-dir`,也可以设置 `YOSUGA_GAME_DIR`。 ``` export YOSUGA_GAME_DIR="/path/to/Yosuga no Sora/game-directory" python3 yosuga_pipeline.py \ --work-dir out_yosuga_media \ --convert-ext eri,mio,mei,mp3 \ --jobs 8 ``` 主要输出为: ``` out_yosuga_media/extracted/manifest.csv out_yosuga_media/extracted/media_scan.csv out_yosuga_media/converted/report.csv out_yosuga_media/pipeline_summary.json out_yosuga_media/converted/ ``` 在提取常规图像/音频时,请勿传递 `--render-mei-preview` 参数。若不添加该标志,`opening.mei` 将仅提取音频。 ## 常用命令 验证存档结构: ``` python3 yosuga_extract.py verify --decode-packed ``` 运行完整的图像/音频 pipeline: ``` python3 yosuga_pipeline.py \ --work-dir out_yosuga_media \ --convert-ext eri,mio,mei,mp3 \ --jobs 8 ``` 运行本地冒烟测试: ``` python3 smoke_test.py ``` `smoke_test.py` 会从配置的游戏目录中提取一组临时样本,仅在该测试运行期间将其链接为 `samples_raw`,并在测试结束后移除该链接。 ## 文件 - `yosuga_extract.py`:存档列表查看、验证、提取、清单校验。 - `yosuga_convert.py`:批量转换与报告验证。 - `yosuga_pipeline.py`:端到端的验证/提取/扫描/转换/校验运行器。 - `eri2png.py`:静态 ERI 图像解码器。 - `mio2wav.py`:MIO 与 MEI 音频解码器。 - `erisan.py`:ERISA-N 存档打包解码器。 - `entis_info.py`:Entis 媒体头部扫描器。 - `mei_extract.py`:MEI 解复用与视频研究工具。 - `RE_NOTES.md`:详细的逆向工程笔记。 - `YOSUGA_RESOURCE_RE_BLOG.md`:关于逆向工程过程的详细叙述文档。 ## 注意事项 这些脚本仅用于研究以及与合法获取的本地游戏文件进行互操作。生成的输出、日志、缓存和提取的资源均已通过 `.gitignore` 忽略,不应提交到代码库。
标签:Python, 云资产清单, 多媒体处理, 文件格式转换, 无后门, 游戏资源提取, 逆向工具, 逆向工程