《原神》代码写得真有那么不堪么? | 您所在的位置:网站首页 › 原神服务器开头 › 《原神》代码写得真有那么不堪么? |
昨天群里疯传原神修改器。锅甩给了JS。。首先,JS写一些脚本代码,本来是没有错的。网游核心逻辑,应该是放在后端,做好安全策略。这是在架构阶段应该设计好的东西。先给JS洗一下。并不是它的锅,本质原因还是没有把核心逻辑进行拆解。该放后端的放后端。拆了下源码包。个人认为,没有那么不堪。至少,音视频文件的防护做的还不错。。。 SO。。来康康,仅以音频文件举例 PCK打包 首先,采用了PCK打包。先拆解下PCK文件 解压是自己写的,只贴部分代码 解AKPK然后我们得到了: 可以看出,这个包里有音效、英文、中文、韩文的五类文件。 进一步解包 代码然后发现解出来的文件如下(Dragon Unpack解出来的文件也是这样) 你会发现,并不能直接播放:于是问题出在哪了? BKHD还是有一道自己的加密机制。 可以基本判断,这个部分就是Wave头。然而正常的wave头是 44位。这里有 56位。Why?? 来看这段,混淆了Wave头,使得主流播放器并没有办法正常解析WAVE头。 JUNK:废物。 04 00 00 00:大端计算是4位。 JUNK + 4位长度标识符 + 4位 00 00 00 00 一共12位。 去掉之后,头变成了 56 -12 = 44位,才可以正常解析。 说到这。说人代码JS瞎比写得,可以退散了。。。另外 马斯克上天的火箭的操控面版也是JS写得。架构做的不好,没有语言的锅。JS天下第一~ 最后 群:711929228 进群问题:OpenGL shader最常用的两个Shader ? vertext fragment (一个算顶点的,一个算颜色的。) PS:有问题的话,麻烦私戳我时候,给个报错信息,以及源文件~谢谢啦~ |
CopyRight 2018-2019 实验室设备网 版权所有 |