2016-11-13 162 views

回答

0
  1. 将XFuscator源代码下载到您的计算机上。文件XFuscator\Step2.lua
  2. 修正错误(见下文)
  3. 打开控制台,cd到XFuscator根目录(其中README.txt所在地)
  4. 运行lua XFuscator.lua "path\to\your_program.lua"(LUA应该在你的PATH)
  5. 看到的结果(混淆程序)是path\to\your_program [Obfuscated].lua

请注意,混淆程序只能在相同的操作系统和相同的Lua版本上运行(混淆程序在很大程度上取决于math.random()math.randomseed()行为,这些功能是操作系统依赖和Lua依赖)。

您可以选择-uglify和模糊的水平(见里面XFuscator.lua用法消息)


关于错误玩:
在文件XFuscator/Step2.lualines #5,#6,#12的逻辑是不正确的:

  • Step2.lua行#12使用数字完整(双精度为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) 
+0

对不起,超级迟到的回应,但当我做最后一件事(运行lua XFuscator.lua“path \ to \ your_program.lua”(lua应该在你的PATH中))它说“'lua'不被识别为内部或外部命令, 可操作的程序或批处理文件。“ 任何想法我做错了什么? – Obfuscated

+0

你的lua可执行文件是什么?尝试'lua.exe'或'lua53.exe'到'c:\ full \ path \ to \ lua.exe'。 –

+0

我跑这个: 'lua XFuscator.lua“C:\ Users \ Josh \ Desktop \ XFuscator-master.new。LUA“' – Obfuscated

相关问题