encryption - 如何识别 lua 脚本中可能被混淆/加密的恶意代码

标签 encryption lua obfuscation

我是一个流行论坛的成员,该论坛主要是分享/销售 Lua 脚本,有些是开源的,有些不是。

我想知道是否有一种自动方法来识别某个 Lua 脚本是否包含恶意代码,例如: os.execute('format C:') 或任何 os.execute 命令。

因为,即使我们要求用户向版主提供其脚本的开源副本,我们如何确定它是否相同?或者他更改了脚本的链接。

提前致谢。

最佳答案

运行sandbox内的脚本并且只允许执行安全命令。例如,禁用 os.execute 。请参阅Lua SandBoxes有关 Lua 特定详细信息的 wiki 页面。

如果您需要允许类似 os.execute 的调用,但需要过滤掉一些调用,那么可能没有太多机会根据代码审查来确保其安全。如果代码包含类似 os.execute('for'..'mat C'..string.char(58)) 的内容怎么办? ?如果不执行一些代码,您甚至无法检测到它是“格式 C:”。

关于encryption - 如何识别 lua 脚本中可能被混淆/加密的恶意代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24811111/

相关文章:

java - 小写密码错误

iphone - 迁移到识别设备的新方法

c++ - 我将如何与 Lua 共享 C++ 类中的变量?

ios - 在 iOS 中创建 RSA 私钥

Node.js。加密 cookie 与签名 cookie

api - 使用 Lua/Torch7 的 HTTP 服务器

c++ - lua_setfield 有什么替代方法吗? (Lua C/C++)

encryption - 如何混淆lua代码?

php - 执行 Javascript 服务器端

php - 在 PHP 中混淆或加密一些纯文本数据