【发布时间】:2021-03-19 11:17:44
【问题描述】:
如果我在记事本中打开它,我有一个显示 glibberish 信息的二进制文件。 我正在开发一个与wireshark一起使用的插件。
所以我的问题是我需要帮助。我正在读取一个文件,需要在文件中找到'V''0''0''1'(0x56 0x30 0x30 0x31),因为它是一个Header的开始,意味着里面有一个数据包。我需要对整个文件执行此操作,例如解析。还应该以 V 0 0 1 开始框架,而不是以它结束。 我目前有一个代码,我正在搜索 0x7E 并对其进行解析。我需要的是框架的长度。例如找到 V 0 0 1 ,因此文件中从 V 到下一个 V 0 0 1 之前的位置的长度。这样我就可以使用长度并将其添加到捕获的长度以获取位置,wireshark 可以使用。
例如我使用 0x7E 的不完美代码:
local line = file:read()
local len = 0
for c in (line or ''):gmatch ('.') do
len = len + 1
if c:byte() == 0x7E then
break
end
end
if not line then
return false
end
frame.captured_length = len
这也是Frame以7E结尾的问题,这是错误的。我需要一些非常适合“V”“0”“0”“1”的东西。也许我需要使用 string.find? 请帮帮我!
【问题讨论】:
标签: parsing lua binary header hex