Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua解析函数定义_Lua_Wireshark Dissector - Fatal编程技术网

Lua解析函数定义

Lua解析函数定义,lua,wireshark-dissector,Lua,Wireshark Dissector,此代码是Lua解析脚本的一部分。请你解释一下这个代码的意思,特别是它的功能好吗 添加页面和页面。谢谢 -- Function: Upload functions request function upload_function_req(buffer, subtree) subtree:add_le(buffer(14,2), "func_id:", buffer(14,2):le_uint()) subtree:add_le(buffer(16,4), "fixed_value

此代码是Lua解析脚本的一部分。请你解释一下这个代码的意思,特别是它的功能好吗

添加页面页面。谢谢

    -- Function: Upload functions request
function upload_function_req(buffer, subtree)

  subtree:add_le(buffer(14,2), "func_id:", buffer(14,2):le_uint())
  subtree:add_le(buffer(16,4), "fixed_values:", buffer(16,4):le_uint())
  subtree:add_le(buffer(20,2), "offset:", buffer(20,2):le_uint())
end

该函数向协议树中添加3个字段。
buffer(n,m)
是a,其中
n
表示进入缓冲区的偏移量,
m
表示长度。所有3个字段都是小尾数格式的无符号整数。第1和第3个字段是2字节整数;第二个是4字节整数。不过,该函数做了一些不必要的工作,可以简化如下:

function upload_function_req(buffer, subtree) subtree:add_le(buffer(14,2), "func_id:") subtree:add_le(buffer(16,4), "fixed_values:") subtree:add_le(buffer(20,2), "offset:") end 函数上传\函数\请求(缓冲区、子树) 子树:添加(缓冲区(14,2),“函数id:”) 子树:添加缓冲区(16,4),“固定值:”) 子树:添加(缓冲区(20,2),“偏移:”) 结束 如果您想了解Wireshark中LuaAPI的更多信息,您应该看看。在下,您将找到相关的子章节

特别是:

  • treeitem:add_le()
    如中所述

  • 中介绍了
    tvbrange:le_uint()