代码之家  ›  专栏  ›  技术社区  ›  blackleader

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

  •  -2
  • blackleader  · 技术社区  · 7 年前

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

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

    非常感谢。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Egor Skriptunoff    7 年前

    示例:

    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
    

    How to encode your own text

    推荐文章