如何让Lua脚本无法解压缩?

时间:2011-12-14 05:25:37

标签: lua decompiler

我有许多Lua脚本(对于多人模式多重盗窃自动),由于多种原因,包括防盗,编译。实际上,这只是一种防盗措施,因为Luadec(http://luadec51.luaforge.net/)可以轻松地对脚本进行反编译。有没有人有关于如何使我的脚本无法解码的任何提示?

4 个答案:

答案 0 :(得分:6)

加密;这真的是唯一可行的方式。当然,既然你的程序必须解密它们,它们就可以直接从内存中抢夺解密数据。

所以不,你无能为力。 任何方法在某种程度上都将成为“唯一的防盗手段”。即使编译成实际装配也只是一种威慑,因为它可以被反编译成与原始源代码完全不同的东西。

问题在于您想要给用户多少麻烦。加密可能会为您带来最大的收益。这将迫使他们必须遍历可执行文件以弄清楚如何将数据从内存中拉出来。大多数临时用户都不想这样做。

答案 1 :(得分:2)

如果你想变得非常认真,你可以改变lua vm生成和使用的操作码,那么它就无法通过现成的软件进行反编译。虽然这可能会导致更多问题而不是它的价值 - 你必须支持你自己的lua版本,你可能不会使用像luajit这样的东西。

要反编译,他们必须弄清楚你想出的操作码并进行翻译。这可能不会太难,但我可能不会。

[更新]

查看源代码可能相当容易,有两个文件lopcode.c和lopcode.h,如果你只是改变这些操作码的顺序,你将会完成。如果您最终这样做,请发布它是否有效。

答案 2 :(得分:1)

Multi Theft Auto现在支持脚本加密。您可以在http://luac.mtasa.com/在线编译它们,也可以下载独立编译器。

答案 3 :(得分:0)

我不认为这是可能的。野兽的本质(在一个非常小的虚拟机上工作的非常小的语言)基本上禁止它。

您可以期待的最好的方法是让反编译的代码尽可能难以理解,对于人类而言。

相关问题