是否可以从 Lua 编译代码中隐藏字符串?

Is it possible to hide strings from Lua compiled code?

我的代码中有一个指定为字符串的文件路径,我不想在 luac 转换后显示。是否有可能以某种方式混淆这条线? 我的代码是:

DIR1 = '../../../files/file1.txt'

谢谢!

是的。

示例:

local Key53 = 8186484168865098
local Key14 = 4887

function decode(str)
   local K, F = Key53, 16384 + Key14
   return (str:gsub('%x%x',
      function(c)
         local L = K % 274877906944   -- 2^38
         local H = (K - L) / 274877906944
         local M = H % 128
         c = tonumber(c, 16)
         local m = (c + (H - M) / 128) * (2*M + 1) % 256
         K = L * F + H + c + m
         return string.char(m)
      end
   ))
end

local path = decode"beb81858c47a5fc7e11721921fb7f58ceeb530c4e74034df"
print(path)  -->  ../../../files/file1.txt