如何在Lua中从debug.getinfo中删除信息?

使用debug.getinfo(number),人们可以看到我通过luaL_dofile加载了哪些文件,以及我通过luaL_dostring运行了哪些字符串。我正在尝试保护我的脚本,那么我该如何隐藏或删除我的文件和字符串,使其无法通过debug.getinfo获得?

对我来说,重写debug.getinfo不是一个选项,不幸的是。

点赞
用户107090
用户107090

尝试使用 luac -s 预编译你的脚本。

2014-04-26 01:06:34
用户2226988
用户2226988

使用 Lua 函数 load 代替 C 函数 luaL_dostring

  1. 压入字符串
  2. 压入 "="
  3. 获取全局变量 "load"
  4. 调用 (load)
  5. 调用 (已编译的字符串)

对于 luaL_dofile,将文件读取为字符串。

2014-04-26 01:07:12