修改另一个lua脚本中的所有变量名称

所以我正在做一个混淆器,你把脚本放在一个名为 script.lua 的文件中 我想要获取每一个本地变量并更改它,还要在变量被引用的任何地方更改它,例如

local Hello = "Hello World"

print(Hello)

变成

HDHASUoasdhfbdjs = "Hello World"

print(HDHASUoasdhfbdjs)

这个可能吗?

点赞
用户1442917
用户1442917

最简单的方法是构建一个 AST 抽象语法树来混淆你想要混淆的代码片段(使用像 metalua 这样的工具),遍历这棵树并将所有变量名改成其他东西(跟踪更改了什么),然后将 AST 转换回源代码(metalua 提供了相应的方法来实现)。

2021-07-02 01:00:22