我正在为Wireshark编写一个解剖器,并希望使用aeslua解密一些正在进入的数据包。我的解剖器工作正常,但是aeslua陷入了试图将密码输入的行将表转换为字节后的表。
有问题的一行是:
local pwBytes = { string.byte(password,1,#password)}
这将返回Lua 5.2.4中的null
(包含在Wireshark 2.2.4中),但在在线演示(写作时为2.3.4)中,它返回预期值。
我尝试将其更改为:
local pwBytes = { password:byte(1, #password) }
但得到了相同的空结果。
作为参考,他是我在Lua演示中运行的代码:
local password = "ABCDEFABCDEFA"
local pwBytes = {string.byte(password,1,#password)}
print(pwBytes)
有没有办法解决这个问题?
答案 0 :(得分:1)
代码在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