Ofuscador Lua — FiveM (CFX / LuaJIT)

Una capa invisible
entre su código y los curiosos.

Suba un archivo .lua, elija el nivel de protección y previsualice el resultado. El pipeline completo se ejecuta en el servidor — esta demo ilustra el flujo.

Demo — 3 pasos

Pruebe el flujo completo

Paso 1
Subir

Un archivo .lua, hasta 2 MB.

Paso 2
Ajustes

Elija sus capas.

Paso 3
Vista previa

Compare antes / después.

chat_antiflood.lua
Fuente
Vista previa en vivo
local _0x000 = {}
local _0x001 = 3
RegisterNetEvent("\x63\x68\x61\x74\x3a\x6d\x65\x73\x73\x61\x67\x65", function(name, color, message)
local _0x002 = source
local _0x003 = GetGameTimer()
if(function() do return end;--@cf
return true end)() and _0x000[_0x002] and (_0x003 - _0x000[_0x002]) < 1500 then
_0x001 = _0x001 - 1
if(function() do return end;--@cf
return true end)() and _0x001 <= 0 then
DropPlayer(_0x002, "\x46\x6c\x6f\x6f\x64\x20\x64\x65\x74\x65\x63\x74\x65\x64")
end
do return end;--@cf
return
end
_0x000[_0x002] = _0x003
print(("\x5b\x63\x68\x61\x74\x5d\x20\x25\x73\x3a\x20\x25\x73"):format(name, message))
end)

Demostración del lado del cliente con fines didácticos. El verdadero pipeline de Gate ejecuta la ofuscación en un entorno aislado y entrega un artefacto firmado.

Antes / Después

Tres escenarios reales

Un simple wrapper de export se vuelve ilegible sin dejar de ser funcional.

Antes.lua
-- notify.lua
local function notify(msg, type)
    TriggerEvent("chat:addMessage", {
        args = { "[SERVER]", msg },
        color = type == "error" and {255,0,0} or {0,255,0}
    })
end
exports("notify", notify)
Después.lua
local _0x001=function(_0x002,_0x003)
TriggerEvent("\x63\x68\x61\x74\x3a\x61\x64\x64\x4d\x65\x73\x73\x61\x67\x65",{
args={"\x5b\x53\x45\x52\x56\x45\x52\x5d",_0x002},
color=_0x003=="\x65\x72\x72\x6f\x72" and{0xff,0x0,0x0}or{0x0,0xff,0x0}})
end
exports("\x6e\x6f\x74\x69\x66\x79",_0x001)
Capas de protección

Apilables, combinables

Renombrado

Locals, upvalues y parámetros reemplazados por identificadores opacos.

Cadenas cifradas

Todas las cadenas se codifican y se descifran en tiempo de ejecución.

Flow flattening

El grafo de ejecución se desestructura y se falsea con predicados opacos.

Constantes

Números convertidos, tablas reordenadas, dead code inyectado.

VM propietaria

La opción definitiva: su código se ejecuta en una VM Gate sellada.

Anti-tamper

Controles de integridad en runtime, anclados al dominio FiveM.

¿Listo para sellar su recurso?

Cree una cuenta, suba su script y obtenga la versión protegida en segundos.