Lua 中将字节转换成表格在 5.2.4 版本不起作用

我正在编写 Wireshark 的解析器,并希望使用 aeslua 解密一些传输过来的数据包。我的解析器很好用,但是 aeslua 卡在一个把密码转换为字节后把它放进一个表格的行上了。

具体的代码行是这样的:

local pwBytes = { string.byte(password,1,#password)}

在 Lua 5.2.4 中(Wireshark 2.2.4 包含此版本),这会返回 null,但是在在线演示中(我写作时是2.3.4),它会返回预期值。

我尝试改成了这样:

local pwBytes = { password:byte(1, #password) }

但是结果仍然是 null

作为参考,下面是我在 Lua 演示中运行的代码:

local password = "ABCDEFABCDEFA"
local pwBytes = {string.byte(password,1,#password)}
print(pwBytes)

我该怎样解决这个问题呢?

点赞
用户107090
用户107090

以下代码在标准的 Lua 5.2.4 中可以正常运行:

local password = "ABCDEFABCDEFA"
local pwBytes = {string.byte(password,1,#password)}
print(pwBytes)
for k,v in ipairs(pwBytes) do
  print(k,v)
end

输出结果:

table: 0x7fc689d00560
1   65
2   66
3   67
4   68
5   69
6   70
7   65
8   66
9   67
10  68
11  69
12  70
13  65
2017-02-12 00:54:44