You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FiveM服务器文件中的这段Lua代码是否存在恶意行为?

分析一段疑似恶意的FiveM服务器Lua代码

我在查看朋友发来的FiveM/GTA RP服务器文件时,发现服务器资源里多处存在一段混淆的Lua代码,怀疑存在恶意行为。通过十六进制转ASCII文本解析后,其真实逻辑和风险如下:

混淆代码的明文还原

首先把代码中十六进制编码的字符串转成明文:

  • \x52\x65\x67\x69\x73\x74\x65\x72\x4e\x65\x74\x45\x76\x65\x6e\x74 → RegisterNetEvent(FiveM注册网络事件的API)
  • \x68\x65\x6c\x70\x43\x6f\x64\x65 → helpCode(自定义的网络事件名)
  • \x41\x64\x64\x45\x76\x65\x6e\x74\x48\x61\x6e\x64\x6c\x65\x72 → AddEventHandler(FiveM添加事件监听器的API)
  • \x61\x73\x73\x65\x72\x74 → assert(Lua内置函数,常用来触发代码执行或处理错误)
  • \x6c\x6f\x61\x64 → load(Lua内置函数,可加载并执行字符串形式的代码)
  • 表中最后一个元素是Lua全局环境_G

把混淆的变量名替换后,代码还原为:

local table = {
    "RegisterNetEvent",
    "helpCode",
    "AddEventHandler",
    "assert",
    "load",
    _G
}

-- 注册名为helpCode的网络事件
_G.RegisterNetEvent("helpCode")

-- 为该事件添加监听器
_G.AddEventHandler("helpCode", function(data)
    -- 调用assert函数,结合load的存在,实际是执行注入的代码
    _G.assert()
end)

恶意行为分析

这段代码通过变量名混淆、十六进制字符串隐藏真实API的方式,实现了一个远程代码注入后门:

  • 注册helpCode网络事件,等待外部触发
  • 事件触发时,通过load(代码中已定义但未直接调用,大概率是在传入的data参数中配合使用)加载并执行任意Lua代码,assert用来确保代码执行或处理加载结果
  • 利用_G调用API,避免直接写函数名,增加检测难度

风险提示

这种代码会导致服务器或客户端完全暴露在攻击者控制下:攻击者可通过触发helpCode事件,注入恶意代码窃取玩家数据、控制服务器运行、篡改游戏内容,严重威胁服务器和玩家的安全。

内容的提问来源于stack exchange,提问作者vipex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 10:17:23