我该怎么用?

时间:2016-11-13 22:53:52

标签: lua obfuscation

我正在尝试使用名为XFuscator的'高级lua混淆器'来模糊我创建的一些代码。但是,我不确定如何使用它。你们能给我一个简短的解释吗?这是github链接:https://github.com/mlnlover11/XFuscator

提前致谢。

1 个答案:

答案 0 :(得分:1)

  1. 将XFuscator源代码下载到您的计算机。
  2. 修复了文件XFuscator\Step2.lua中的错误(见下文)
  3. 打开控制台并cd到XFuscator根目录(README.txt所在的位置)
  4. 运行lua XFuscator.lua "path\to\your_program.lua"(lua应该在你的路径中)
  5. 查看结果(模糊程序)位于path\to\your_program [Obfuscated].lua
  6. 请注意,混淆程序只能在相同的操作系统和相同的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
    • 并非所有Lua实现都对作为math.randomseed()的参数给出的数字的小数部分敏感;例如,PUC Lua只是忽略了小数部分,只有低32位的整数部分被接受为种子(不幸的是,Lua手册对此保持沉默)。因此,种子最好是整数。

    如何解决错误:
    替换第5行

    local __X = math.random()
    

    使用以下行:

    local __X = math.random(1, 9^9)