00003 不思议迷宫.0011.2:Android新版中的Lua加密(下)
好久没发文章了,并不是我停止了研究,而是一直在忙些修复bug的工作。今天在研究精英服的时候,本打算对比一下和正式服的代码的,但无奈时间不足,就不多说了。这儿简单点,向大伙介绍一下对游戏的Android版本中的的luac文件的解密研究的过程和成果。
在上一篇文章中(好吧,按时间上不是上一篇,按标题才是),我已介绍过,游戏Android版中的luac文件是被xxtea加密的,并且解说了如何获得xxtea的key。如果有人继续研究下去,会发现解密出来的文件还是加密的:
当然,这并不是真的加密,它其实是lua的字节码。但是呢,它不是普通的lua字节码,而是一个叫做LuaJIT的东东生成的变种lua字节码。知道它是字节码就基本可以放心了:java字节码,被人破解了;C#字节码,结果也被人破解了;那么lua字节码,会幸免吗?
我就从网上搜,找找各种反编译LuaJIT/Lua字节码的工具,还真找到那么几个。在这个过程中,还发现有其他的变种lua字节码(具体名字我已忘了,哎,瞅瞅我这破记性)。
抛开不能用的、反编译lua原版字节码的不谈,我找到的确定能用的、反编译LuaJIT字节的工具有两个(严格来说只是一个):luajit-decomp和ljd。
luajit-decomp这个东西有点差:下载下来的exe在我的电脑上不能运行(我猜测可能是需要将字节码文件拷贝在某个特定目录。它告诉我说:“If you have any questions on how to use it then read the wiki”。可是鬼才知道这个wiki在哪儿)。经研究呢,这个工具反编译并没有干啥,也只是利用LuaJIT自身的命令而已:

4027

被折叠的 条评论
为什么被折叠?



