为了更好理解,我们以十六进制编辑器打开一个arc文件。这里的示例是
姬騎士オリヴィア~へ、変態、この変態男! 少しは恥を知りなさい!的layer.arc。
芝士文件头,封包里有0x0D89 = 3465个文件。为什么不是890D? 这是小端序,高位字节在后而每一个字节中高位在前。
拆一下,确实有3465个文件。
芝士文件名。使用了简单的加密让你一眼看不出来原名。
加密的原理是:
byte - 文件名长度 - 1 + byte所在位数。(0起)
l - 9 - 1 + 0 = b (b cdefghijkl)
u - 9 - 1 + 1 = l
....
最后得出的文件名应该是black,akb,一共九个字。
芝士文件大小。
看一下也确实是0x20 = 32bytes。为什么是20?这里又用的是大端序了。
芝士文件偏移。我们可以在封包的这个位置,0xE6194,找到文件原始内容。
从这里开始的32位和解包为akb得到的32位完全一样。
实际上,这种通过偏移寻找文件内容的做法在计算机领域是极为常见的。
arc包就是这样了,很简单吧