编译 Lua 或 Python 脚本文件
我打算把我的业务代码分离出来,放到一个脚本语言里。可能会用Lua或者Python。
我有个问题,我写在脚本文件里的业务代码是可以被别人看到的。因为脚本文件不会被编译,所以是开放的,任何人都能看到它。
我该怎么隐藏它呢?我觉得如果我用Python的话,它会被编译成(.pyo)文件,但Lua看起来更适合我。
3 个回答
1
你很难轻易隐藏这个东西。你可以在运行时对数据进行加密和解密,但问题是,别人可以查看你的程序内存,看到代码就像明文一样清晰。如果你想防止别人修改lua文件,你可以创建一个哈希值,每次运行时都检查这个文本文件是否和哈希值匹配。
1
(针对Lua)
这要看你希望安全到什么程度。如果只是想防止一些简单的修改,你可以直接改文件的扩展名,然后设置路径让它能识别这个文件。
如果想防止那些知道怎么改扩展名的人,你可以用luac编译文件。要破解这些文件,你得花不少功夫。
不过如果想要真正安全,我想唯一的办法就是对代码进行加密或签名,可能还需要修改核心,让它只运行那些签名验证通过的文件,或者是可以解密的文件。
5
你可以使用 luac
来编译 Lua 脚本:
luac -s -o yourscript.luc yourscript.lua
如果使用 -s
这个选项,还可以去掉调试信息,这样编译出来的文件会稍微小一点。