I have a string problem when writing my lua dissector. My packet looks like:
0000 00 00 00 69 00 10 00 01 00 00 00 ed 00 00 00 0c
0010 bf a6 5f ...
When debugging, the tvb looks the same
The byte at offset 0x10 is 0xbf, but in my dissector function I got different result, here' my code:
local str = buf(0x10):string()
local x = string.byte(str, 1)
the variable x should be 0xbf, but it's 0xef, and some other offset are also 0xef:
local str = buf(0x11):string()
local x = string.byte(str, 1) -- also get 0xef, should be 0xa6
local str = buf(11):string()
local x = string.byte(str, 1) -- also get 0xef, should be 0xed
Seems big values will always get 0xef as result, like 0xa6/0xbf/0xed...
And small values will be correct, like 0x69/0x5f/0x0c...
I'm using the latest wireshark 2.0, is this a bug?

:string()?buf(0x10), buf(0x10):string()too.