Perché gli executor Lua sono un problema a parte
Quasi tutti i cheat FiveM vivono in DLL C/C++ e si possono rilevare con le classiche scansioni delle firme dei moduli iniettati. Gli executor Lua sono diversi: eseguono Lua arbitrario dentro il runtime di scripting legittimo di FiveM, quindi alla maggior parte dei controlli statici sembrano identici a normali script di gioco. Una semplice scansione delle firme sul binario dell'executor aiuta, ma il binario è piccolo, viene riscritto spesso ed è banale da ripacchettizzare. Il rilevamento deve avvenire anche a livello di runtime.
Rilevamento delle firme sul loader
La prima linea di difesa è il rilevamento delle firme sul processo loader e su qualsiasi DLL che il loader mappa dentro FiveM. Il pacchetto di firme di Raven segue le famiglie di loader più attive e viene aggiornato con una frequenza da 1 a 7 giorni. Questo becca subito gli executor pigri e costringe tutti gli altri a ripacchettizzare a ogni release, il che fa guadagnare tempo.
Controlli di integrità a runtime
Oltre alle firme del loader, Raven valida l'integrità del runtime Lua stesso. Controlla quali handler nativi sono stati patchati, quali registrazioni di eventi esistono e se lo stato globale di Lua è stato arricchito con tabelle estranee. Gli executor hanno di solito bisogno di inserire almeno una di queste cose per consegnare il loro payload, quindi questo livello alza una bandierina anche quando il binario del loader è sconosciuto.
La validazione lato server come rete di sicurezza
Anche se la firma del loader e il controllo a runtime vengono entrambi bypassati, l'executor deve comunque farci qualcosa con quell'accesso, e di solito questo significa attivare eventi server che uno script legittimo non attiverebbe. Il livello di validazione degli eventi lato server (vedi /how-it-works/event-validation) blocca gli eventi che arrivano da fonti non consentite e rifiuta i payload fuori dai limiti plausibili. Soldi dati via Lua, duplicazioni di oggetti, ondate di veicoli spawnati e teletrasporti dei giocatori finiscono tutti allo stesso cancello di validazione.
Perché il rilevamento degli executor Lua non è mai «finito»
Gli autori degli executor riscrivono i loro loader di continuo, perché ogni firma rilasciata contro di loro costa l'intera base clienti di quella release. Il rilevamento è continuo: un executor che funziona oggi è un executor rilevato entro 1-7 giorni, e i suoi utenti finiscono poi nel Global Ban Database. La voce di advisory del 2026-04-21 sul changelog racconta un esempio recente: un pattern di trigger di eventi di Redengine patchato lato server con una regola che gira anche se ogni controllo client viene bypassato.