Unity Version | 2019.4.30f1 |
Assets Encrypted | False |
Hotfix | XLua |
So Protection |
为什么这个没有加密的游戏也能扯出来讲两句呢。
因为沟槽的Unity
在Unity进入5.x时代,他们搞出了万恶的年代版本编号,在2019.4.x相关版本中,有一些bundlefile的version明明还没从06升到07,但是就已经在Header之后使用Alignment了。而不幸的是UABEA并没有处理这个问题(在大部分情况下UABEA都是非常好用的),虽然UnityPy能正确处理这个问题,但是对于文件类型的支持远不如UABEA丰富。
那么有什么办法可以让UABEA正确处理这个问题呢?其实很简单,把version改成07就行了。对于UnityFS
类的文件来讲,就是把二进制文件的第12个字节改成07。再在使用UABEA修改完文件后,把version改回06。
但是介于大部分Modder都不喜欢在UABEA导出后选择压缩,这里又有一个神奇的问题,对于不压缩的文件,在这些有特别对齐的版本中似乎是不能正常读取的,如果你选择lz4或者lzma压缩,然后改回06,那么这个文件就会正常的被游戏读取。
具体原因,我暂时还不知道,也许以后会补上。
目前我知道的情况是2019.4.x
的版本中会出现这个问题,到2019.4.35f1
就不会出现,更具体的范围和机理我也不清楚。