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)