我正在尝试使用名为XFuscator的'高级lua混淆器'来模糊我创建的一些代码。但是,我不确定如何使用它。你们能给我一个简短的解释吗?这是github链接:https://github.com/mlnlover11/XFuscator
提前致谢。
答案 0 :(得分:1)
XFuscator\Step2.lua
中的错误(见下文)cd
到XFuscator根目录(README.txt
所在的位置)lua XFuscator.lua "path\to\your_program.lua"
(lua应该在你的路径中)path\to\your_program [Obfuscated].lua
请注意,混淆程序只能在相同的操作系统和相同的Lua版本上运行(混淆程序在很大程度上取决于math.random()
和math.randomseed()
行为,这些函数依赖于操作系统和Lua依赖)。
您可以使用选项-uglify
和混淆级别(请参阅XFuscator.lua
中的使用情况消息)
关于错误:
在文件XFuscator/Step2.lua
中,lines #5,#6,#12的逻辑不正确:
Step2.lua
的第12行使用完整的数字(double有17位精度),而只有14位数(默认的Lua数字格式)被保存到第6行的模糊文件中。这种不一致有时会导致不同的伪随机序列,并且在尝试执行混淆程序时会看到错误消息attempt to call a nil value
。math.randomseed()
的参数给出的数字的小数部分敏感;例如,PUC Lua只是忽略了小数部分,只有低32位的整数部分被接受为种子(不幸的是,Lua手册对此保持沉默)。因此,种子最好是整数。 如何解决错误:
替换第5行
local __X = math.random()
使用以下行:
local __X = math.random(1, 9^9)