Lua は初めてで、Wireshark 用のカスタム ディセクタを作成しています。私の状況はこれです:
Wireshark データは、4321 8765 CBA9 などの 16 進数で構成されます。私が巻き上げたいのは(解剖された後):CBA9 8765 4321です。
これまでに行ったことは、Lua でこれらの数値を個別に取得し、それらを文字列に変換して正しい順序に配置する小さな関数を作成することです。
function ReverseOrder3Numbers(hex_1, hex_2, hex_3)
local hex_1_int = hex_1:uint()
local hex_2_int = hex_2:uint()
local hex_3_int = hex_3:uint()
word1 = string.format("%04X", hex_1_int)
word2 = string.format("%04X", hex_2_int)
word3 = string.format("%04X", hex_3_int)
combined_string = "0x" .. word3 .. word2 .. word1
output = combined_string
return output
end
ただし、この束をツリーに追加しようとすると、Lua Error: ...: calling 'add' on bad self (userdata expected, got string) というエラーが表示されます。
どうすればこれを回避できますか? まったく別のアプローチが必要ですか? 複雑なものや凝ったものを探しているわけではありません。私がする必要があるのは、私が説明したことだけです。どんな助けでも大歓迎です。