Riepilogo (valutazione della sicurezza del gioco)
Seraph aprirà tre beta il 22 novembre 2023. Il team Damocles ha condotto un'analisi e una valutazione della sicurezza del gioco il 24 novembre, ma i risultati della valutazione non sono stati soddisfacenti. Innanzitutto, il gruppo di progetto conserva una grande quantità di informazioni di registro nel codice e dalle informazioni di registro si può dedurre che il gruppo di progetto non è un team coreano, ma un team cinese, e il gioco utilizza Unity per caricare Lua, senza la protezione del codice Lua o l'utilizzo di Lua JIT e altri mezzi per migliorare la difficoltà del reverse engineering vengono utilizzati per proteggere il codice sorgente, il che si traduce nella completa esposizione del codice sorgente. È necessaria solo la funzione di caricamento del gancio per scaricare il codice sorgente del gioco dalla memoria. Tuttavia, questo gioco è un gioco ARPG. Questo tipo di gioco ha un naturale vantaggio anti-cheat, ovvero la maggior parte dei dati viene sincronizzata tramite il server, il che allevia in una certa misura i problemi di sicurezza del gioco.

Sfondo del gioco
Ø Versione del gioco per la valutazione: v0.0.0.6
Ø Tipo di gioco e motore di gioco: ARPG, Unity
Ø Possibili problemi con il gioco:
Teletrasporto
Accelerazione (accelerare il movimento, accelerare il rilascio delle abilità)
Riaggancia automaticamente
modifica dell'ingrandimento
Modifica del buff di invincibilità (che consente al personaggio di persistere buff o altri buff che aumentano la produzione di cristalli dell'anima)
Analisi della sicurezza del gioco
Protezione del codice di gioco
1. Poiché motori diversi hanno modalità di analisi diverse, dopo aver ottenuto l'EXE del gioco, devi prima determinare il motore utilizzato dal gioco. Identificando le informazioni di base del gioco, possiamo determinare che il gioco è stato sviluppato utilizzando Unity.

2. Attraverso GameAssembly.dll e global-metadata.dat nella directory del gioco, è possibile determinare che il gioco utilizza la modalità di compilazione il2cpp, quindi il codice sorgente viene ripristinato tramite iL2Cppdumper.


Tuttavia, nel file dump.cs non è stata trovata alcuna logica di codice relativa al gioco, quindi ho immaginato che il gioco non fosse sviluppato in C#, ma caricato tramite lua, quindi ho collegato le funzioni relative al loadbuff del gioco tramite il codice per ottenere The è arrivato il vero codice sorgente del gioco.


E ho trovato alcuni commenti interessanti nel codice sorgente del gioco:



Conclusione dell'analisi:
Seraph ha ottenuto 0 per la protezione del codice di gioco, ovvero nessuna protezione. Nei giochi tradizionali sviluppati con Lua, viene spesso utilizzato un interprete Lua personalizzato e LuaJit viene utilizzato per un certo grado di protezione del codice. Poiché Seraph non dispone di un meccanismo di protezione del codice, la soglia e il costo per l'analisi del codice da parte dei giocatori malintenzionati sono molto bassi. Se compaiono cheat, è ingiusto nei confronti dei giocatori normali e potrebbe avere un impatto sul modello economico del gioco.
Nozioni di base del gioco anti-cheat
1. In termini di rilevamento anti-cheat di base, giudichiamo principalmente se il gioco carica ed esegue la logica esterna sostituendo il file Lua.
2. Dopo aver inserito lo strumento DLL tramite CE, controlla se il registro di terze parti è stampato nel file di registro del gioco.

3. Modifica la percentuale di colpi critici e altri dati nel gioco modificando la logica Lua e scopri che può avere effetto e non vi è alcun controllo nel gioco. (La modifica dei dati dell'attributo serve solo per una visualizzazione più intuitiva. Questo campo è generalmente memorizzato sul server e non ha alcun effetto se modificato localmente.)


Conclusione dell'analisi:
Seraph ha un punteggio pari a 0 in termini di capacità anti-cheat. Se sono presenti utenti malintenzionati, possono imbrogliare a piacimento. 2. Il motivo principale per testare solo la ricarica di Lua nel gioco è che questo comportamento è la base per imbrogliare nei giochi Lua. Se questo punto non può essere fatto bene, altri aspetti dell'anti-cheat saranno solo peggiori.
problemi di logica del gioco
Poiché è stato ottenuto il codice sorgente del gioco, durante il processo di analisi abbiamo condotto un'analisi di sicurezza sul livello logico, ma non abbiamo analizzato il livello di protocollo. In termini di livello logico, abbiamo condotto principalmente test di sicurezza sui seguenti punti, vale a dire :
Manomissione degli attributi durante l'inizializzazione del carattere: (è stato riscontrato che non ci sono molti attributi sensibili in questa parte e non può aumentare le entrate)

Il secondo riguarda alcune manomissioni legate alle abilità durante gli attacchi attivi: (ho scoperto che questa parte è solo a scopo di visualizzazione e non partecipa effettivamente alla verifica dei danni)

Infine, c'è la modifica logica quando il mostro viene attaccato (si è riscontrato che questa modifica non ha alcun significato pratico. Si suppone che lo scopo principale dello sviluppo di questo modulo sia quello di attivare eventi per la registrazione e non vi è alcuna partecipazione effettiva al calcolo)

Conclusione dell'analisi:
Seraph non ha avuto effetto nei tre punti che abbiamo manomesso casualmente, il che dimostra che il calcolo e la visualizzazione dei danni vengono eseguiti separatamente o che il calcolo viene eseguito dal server e la sua sicurezza è comunque garantita. Il punteggio è 3 punti e 0 .
Tuttavia, parte della determinazione dei danni viene archiviata localmente e c'è ancora spazio per imbrogliare.
Analisi RPC del gioco
Il gioco utilizza protolbuf per l'interazione del protocollo e anche le interazioni relative a Web3 utilizzano questa soluzione. Al momento, questa parte non è stata testata in dettaglio e la parte ProtoBuf potrebbe essere testata in dettaglio in futuro.

Analisi della sicurezza WEB3:
panoramica:
Attualmente, Seraph non emette token. Il contratto Mint è un contratto NFT721 convenzionale che utilizza un contratto di agenzia. La fornitura totale è 3225 e, indipendentemente dal fatto che sia Mint o cross-chain, ha il controllo del ruolo e la sicurezza sulla catena è controllabile. .

Sicurezza del sistema economico nel gioco:
Al momento, il metodo principale per l'estrazione dell'oro a Seraph si basa ancora sui cristalli dell'anima, sia che si tratti di costruire una scatola dell'anima o di aprirla, viene giudicato dal server. Il cliente effettua solo richieste e inizia e la sicurezza è principalmente controllata dal server, quindi la sua sicurezza La valutazione non rientra nell'ambito della valutazione della sicurezza del client Successivamente, Damocles può risolvere tutte le richieste ed eseguire test black-box.

A proposito di Damocle
Damocles labs è un team di sicurezza fondato nel 2023, focalizzato sulla sicurezza del settore Web3. La sua attività comprende: audit del codice contrattuale, audit del codice aziendale, test di penetrazione, audit del codice GameFi, mining di vulnerabilità GameFi, analisi dei plug-in GameFi e GameFi. anti-imbroglio.
Continueremo a lavorare sodo nel settore della sicurezza Web3 e produrremo il maggior numero possibile di rapporti di analisi per aumentare la consapevolezza della sicurezza di GameFi tra le parti del progetto e gli utenti e promuovere lo sviluppo della sicurezza del settore.
Twitter: https://twitter.com/DamoclesLabs
Discordia: https://discord.gg/xd6H6eqFHz

