zbirow/Hunkfile-Viewer

GitHub: zbirow/Hunkfile-Viewer

用于解析和提取Torus Games游戏.hnk文件中纹理与3D模型资源的逆向工程工具。

Stars: 0 | Forks: 0

# Hunkfile-Viewer 实际测试于 Monster High: NGS (PC/Wii)、Barbie PC、Falling Skies PC、Scooby-Doo 1/2 (PC/Wii) 可以显示纹理 3D 模型查看器开发中...... Hunkfile Viewer (.hnk) Torus Games ### 头部标识 | 偏移 0x5 | 支持游戏 | | --- | ------------- | | \x01\x00\x01\x00\x01 | MH(PC), Barbie(PC), Falling Skies(PC) | | \xE5\x0A\x01\x00\x01 | MH(PC), Barbie(PC), Falling Skies(PC) | | \x01\x04\x01\x00\x01 | Scooby Doo(PC) | | 其他 | Wii 游戏 | # Monster High: NGS / Barbie / Falling Skies ### 纹理信息: - 纹理信息包含在纹理头部 [0x41150]。 - 前两个字节对应纹理格式。 ### 纹理格式 | 前两个字节 | 纹理格式 | | --------------- | --------------:| | 0xA1 0xBC | CMPR - Wii | | 0xE9 0x78 | Unknown - Wii | | 0xD3 0x3A | DXT5 - PC | | 0xF9 0x3D | DXT1 - PC | | 0x9F 0x5B | R8G8B8A8 - PC | ### 宽度/高度 - 两个字节 | 游戏 | 宽度 | 高度 | 字节序 | 示例字节 | 输出 | | ----- | ----- | ----- | ------ | -------- | ------:| | PC | 0x0C | 0x0E | Little Endian | 0x00 0x02 | 512 | | Wii | 0x0C | 0x0E | Big Endian | 0x02 0x00 | 512 | [工具](https://www.save-editor.com/tools/wse_hex.html "Tool") ### Monster High, Barbie, Falling Skies 表格 | 类型 | PC 值 | Wii 值 | | --------- | -------- |----------:| | File Name | 0x40071 | 0x40071 | | ClankBodyTemplate main | 0x45100 | | ClankBodyTemplate secondary| 0x402100 | | ClankBodyTemplate name | 0x43100 | | ClankBodyTemplate data | 0x44100 | | ClankBodyTemplate data 2 | 0x404100 | | LiteScript main | 0x4300c | | LiteScript data | 0x4200c | | LiteScript data 2 | 0x4100c | | SqueakSample data | 0x204090 | | TSETexture header | 0x41150 | 0x41150 | | TSETexture data | 0x40151 | 0x202151 | | TSETexture data 2 | 0x801151 | | RenderModelTemplate header | 0x101050 | | RenderModelTemplate data | 0x40054 | | RenderModelTemplate data table | 0x20055 | | Animation data | 0x42005 | | Animation data 2 | 0x41005 | | RenderSprite data | 0x41007 | | EffectsParams data | 0x43112 | | TSEFontDescriptor data | 0x43087 | | TSEDataTable data 1 | 0x43083 | | TSEDataTable data 2 | 0x4008a | | StateFlowTemplate data | 0x43088 | | StateFlowTemplate data 2 | 0x42088 | | SqueakStream data | 0x204092 | | SqueakStream data 2 | 0x201092 | | EntityPlacement data | 0x42009 | | EntityPlacement data 2 | 0x103009 | | EntityPlacement BCC data | 0x101009 | | EntityPlacement level data | 0x102009 | | EntityTemplate data | 0x101008 | ## PC 3D 模型 [3D 模型提取器](https://github.com/zbirow/Hunkfile-Viewer/blob/main/dev/HNK_Test_Model.py) 这是一个测试脚本,可以从 hnk 文件中提取模型。它无法提取所有模型,因此有些可能会损坏。 在 Monster High NGiS PC、Barbie PC、Scooby Doo 1/2 PC 上测试过,它可以毫无问题地提取头发、服装和游戏元素。虽然它在角色和某些游戏元素方面存在较大问题,但我仍在努力改进中。 # Scooby Doo - 进行中 - 纹理信息包含在 PC 纹理头部 [0x41056] 和 Wii 纹理头部 [0x41033]。 - ### 纹理格式 PC | 0x34:0x40 | 纹理格式 | | --------------- | --------------:| | DXT5 | DXT5 - PC | | DXT1 | DXT1 - PC | | 0x15 | R8G8B8A8 - PC | Wii | 0x5:0x9 | 纹理格式 | | --------------- | --------------:| | 0x01 0x00 0x00 0x24 | CMPR - Wii | | 0x01 0x00 0x00 0x28 | CMPR - Wii | | 0x01 0x00 0x00 0x20 | CMPR - Wii | | 0x01 0x00 0x00 0x2C | CMPR - Wii | | 0x01 0x00 0x00 0x30 | CMPR - Wii | ### 宽度/高度 - 两个字节 | 游戏 | 宽度 | 高度 | 字节序 | 示例字节 | 输出 | 格式 | | ----- | ----- | ----- | ------ | -------- | -------- | ------:| | PC | 0x30 | 0x32 | Little Endian | 0x00 0x02 | 512 | 全部 | | Wii | 0x58 | 0x5A | Big Endian | 0x00 0x02 | 512 | 0x01 0x00 0x00 0x24 | | Wii | 0x5C | 0x5E | Big Endian | 0x00 0x02 | 512 | 0x01 0x00 0x00 0x28 | | Wii | 0x54 | 0x56 | Big Endian | 0x00 0x02 | 512 | 0x01 0x00 0x00 0x20 | | Wii | 0x60 | 0x62 | Big Endian | 0x00 0x02 | 512 | 0x01 0x00 0x00 0x2C | | Wii | 0x64 | 0x66 | Big Endian | 0x00 0x02 | 512 | 0x01 0x00 0x00 0x30 | ### Wii First Frights 格式类型 = 0x18 0x00 0x00 0x00 偏移: 15 4 字节 名称计数 偏移: 6 2 字节 名称块大小 偏移 9 2 字节 名称块之后 填充 00 - 偏移 2A 2 字节 宽度 2 字节 高度 跳过元数据 - 偏移 2D 名称块之后 填充 00 - 偏移 2A 2 字节 宽度 2 字节 高度 跳过元数据 - 偏移 2D 以此类推。 纹理数据块 - 0x201034 / 0x201035 ### Scooby Doo 表格 - 进行中 | 类型 | PC 值 | Wii Spooky Swamp 值 | Wii First Frights 值 | | --------- | -------- | ---------------------- |----------:| | File Name | 0x40071 | 0x40071 | 0x40071 | | TSETexture header | 0x41056 | 0x41033 | 0x41033 | | TSETexture data | 0x40057 | 0x201035 | | # 如何使用 - 下载仓库 (repo) - 运行 hunkfile_viewer.py # 致谢 - HNK 结构/表格
标签:3D模型, Barbie, CMPR, DXT1, DXT5, Falling Skies, .hnk, Hunk文件, Monster High, PC游戏, R8G8B8A8, Scooby-Doo, Torus Games, Wii游戏, 二进制数据, 云资产清单, 偏移量, 十六进制编辑, 大端序, 小端序, 数据结构, 文件头识别, 文件格式分析, 模型查看器, 游戏开发, 游戏资源提取, 纹理提取, 逆向工具, 逆向工程