Wireshark mailing list archives
Re: Wide char strings in LUA dissector
From: Helge Kruse <Helge.Kruse () gmx net>
Date: Wed, 30 Nov 2016 15:39:24 +0100
Am 29.11.2016 um 04:00 schrieb Guy Harris:
So you'd either have to fetch the length yourself and use an FT_STRING field, or get FT_UINT_STRING supported in Lua.
Currently I used a workaround and wrote a LUA function that retrieves
the wide char string from the tvb.
-- Get a wide character string from a TVB.
-- Assume the high byte of all 16-bit characters is always zero.
-- If the number of bytes is not know pass -1 to get the remaing
-- bytes of the packet.
function WideCharString(tvb, offset, remaining)
local s = ""
if remaining == -1 then
remaining = tvb:reported_length_remaining()
end
while (offset < remaining) do
local c = tvb:range(offset, 1):string()
if c == "" then return s end
s = s .. c -- string.format("%s", c)
offset = offset + 2
end
return s
end
If I add this to a tree then I get the correct name:
local rem = tvb:reported_length_remaining()
local name = WideCharString(tvb, 8, rem - 8)
tree:add("WName:", tvb:range(8, rem - 8), name)
But although the range is addressed with "tvb:range(8, rem - 8)" the
bytes in the packet panes are not highlighted for this tree item.
So, I fear it would be better to get FT_UINT_STRING in LUA supported.
Regards
Helge
___________________________________________________________________________
Sent via: Wireshark-users mailing list <wireshark-users () wireshark org>
Archives: https://www.wireshark.org/lists/wireshark-users
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-users
mailto:wireshark-users-request () wireshark org?subject=unsubscribe
Current thread:
- Wide char strings in LUA dissector Helge Kruse (Nov 27)
- Re: Wide char strings in LUA dissector Guy Harris (Nov 28)
- Re: Wide char strings in LUA dissector Helge Kruse (Nov 30)
- Re: Wide char strings in LUA dissector Guy Harris (Nov 28)
