Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

一些信息的补充 #1

Open
Ansolve opened this issue Dec 2, 2024 · 1 comment
Open

一些信息的补充 #1

Ansolve opened this issue Dec 2, 2024 · 1 comment

Comments

@Ansolve
Copy link

Ansolve commented Dec 2, 2024

不清楚这个项目的维护者还在不在,但为了防止信息流失在此补充些已知信息

Map.bin

# Map.bin以「?? ?? 00 00 0D 00 00 00」开头,文件名与MD5以「?? ?? ?? 00 20 00 00 00」分隔,每行之间以「?? 00 00 00」分隔
# 文件大致为「?? ?? 00 00 0D 00 00 00 文件名_1 ?? ?? ?? 00 20 00 00 00 MD5_1 ?? 00 00 00 文件名_2.....」编码UTF-8

Map.bin的开头四位是类型为int的数字,小端序储存,表示文件数量;理论上前四位都可能不为0,但第三位不为0时的文件数量需要65536个文件,基本上橙光不会允许这么多文件上传

后续的内容为每个文件的信息,每个文件之间无间隔,依次按下面的顺序储存:

  • 文件的名称,类型为字符串,在储存字符串时,橙光会前置储存该字符串的长度,然后在以UTF-8的形式储存字符串的内容。
    • 以开头的「0D 00 00 00」为例,该数字为13,刚好为"data/game.bin"的长度,这也是一般情况下的第一个文件
    • 一般情况下,文件路径的长度不会超过256个字符,所以符合「?? 00 00 00」的规律
  • 文件的大小,对应「?? ?? ?? 00 20 00 00 00」中的「?? ?? ?? 00」部分,同样是类型为int的小端序数字,理论上16MB的文件就能让第四位变化,或许橙光并不允许
  • 文件的md5,类型为字符串,同样会存储长度信息,也就是「20 00 00 00」,符合橙光使用的32位md5
@PeaShooterR
Copy link
Owner

谢谢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants