我如何使Lua脚本无法反编译?
2019-7-29 22:20:22
收藏:0
阅读:132
评论:4
我有许多编译过的 Lua 脚本(用于多人模式 Mod Multi Theft Auto),出于许多原因,包括防盗。实际上,这只是一种防盗手段,因为 Luadec (http://luadec51.luaforge.net/) 可以轻松地反编译脚本。有人有什么提示吗?如何使我的脚本不可反编译?
原文链接 https://stackoverflow.com/questions/8499839
点赞
stackoverflow用户416047
如果您想要变得非常严肃,您可以更改Lua虚拟机生成和使用的操作码,然后它就无法被现成的软件反编译。虽然这可能会给您带来更多问题,因为您必须支持自己的Lua版本,并且可能无法使用像luajit这样的东西。
要反编译它们,他们必须找出您想出的操作码映射并进行翻译。这可能不会太难做到,但我可能不会这样做。
[更新]
查看源代码可能相当容易,有两个文件lopcodes.c和lopcodes.h,也许如果您只更改它们中操作码的顺序,您就完成了。如果您最终这样做了并且它起作用或者不起作用,请发布。
2011-12-14 05:46:50
stackoverflow用户312586
我认为这是不可能的。这种生物的本质(一个在非常小的VM上工作的非常简单的语言)基本上禁止了它。
你所能希望的最好的结果就是反编译代码对于人类来说尽可能难以理解。
2011-12-14 12:16:20
stackoverflow用户615405
Multi Theft Auto 现在支持脚本加密。您可以在 http://luac.mtasa.com/ 上在线编译它们,也可以下载独立编译器。
2013-09-27 11:46:21
评论区的留言会收到邮件通知哦~
推荐文章
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?
加密
加密是唯一可行的方法。当然,由于您的程序必须对其进行解密,因此它们可以直接从内存中夺取解密后的数据。
所以,您无能为力。任何方法都只能在一定程度上起到“防盗”作用。即使编译成真正的汇编语言,这也只是一种威慑,因为可以将其反编译成与原始源代码不完全相似的内容。
问题仅在于您想要给用户带来多少麻烦。加密可能是最划算的方法。这将迫使他们必须浏览可执行文件,以找出如何从内存中插取数据。大多数普通用户都不会这样做。