我没找到官方文档(懒)所以我会用我的理解来讲解一下。
UnityCN是一种Unity中国官方内置于中国特供版中的加密方式(虽然你会看到版本号不带c1的游戏也使用了这种加密方式)。
具体的加密方式这里略去不谈,感兴趣的可以去看看Razmoth佬的CNStudio了解一下具体过程。
Razmoth佬维护的Studio支持UnityCN加密的文件的读取与查看。
大致流程如下
Options
->Specify Game
->UnityCN
Options
->Specify UnityCN Key
然后在弹出的对话框中根据游戏名字选择对应的key,如果没有找到可以尝试自己获取key填入。- 然后就可以像正常的查看文件一样查看了。
尝试一下就知道UABEA是无法直接读取UnityCN加密的文件的。在UnityCN的加密与解密中我大概讲解了一下UnityCN加密是怎么工作的,文末的repo UnityCN-Helper支持从UnityCN加密的文件导出不加密的文件和使用原始文件对修改后的文件进行加密。
实际上,使用UnityCN-Helper导出的不加密文件在UABEA修改后就可以直接丢回游戏了,似乎对于UnityCN加密来讲,不加密的文件也是能正常读取的。当然如果没能正常读取可以重新加密试试。
在这个编辑的时间点(2024/5/25),UABEA的最新Release是seventh release,作者在重写UABEA,也就是UABEANext。按作者原话是不会考虑对UnityCN Encryption的支持,因为他从来没遇到过(哈哈),所以我fork了一个支持UnityCN Encryption的UABEA版本。
根据我在网上看到的信息,UnityCN要求数据是LZ4压缩的,但是实际上会出现某些block的压缩类型为None。我询问了一些人,他们告诉我这是Unity Vanilad的处理,如果lz4压缩后的数据比原始数据大,Unity会选择不压缩。
Game Name | Key |
---|---|
雷索纳斯(Resournance) | 5265736F6E616E63655265626F726E52 |
云图计划(国服) | 62363238363766353164326561376266 |
云图计划(国际服) | 31636162383436663532393031633965 |
战双帕弥什(Punishing Gray Raven)(CN/JP/TW) | 7935585076714C4F72436F6B57524961 |
战双帕弥什(Punishing Gray Raven)(GLB/KR) | 6B75726F6B75726F6B75726F6B75726F |
星落(Elpis) | 79756E67756968616F77616E31323334 |