Categorie
Domande di Internet

come fanno le persone a trovare gli exploit nei videogiochi come la duplicazione di oggetti o modi per saltare le aree?

Bentornati ad un'altra super edizione delle domande di cultura generale !

316 utenti della rete avevano questa curiosità : Spiegami: come fanno le persone a trovare exploit nei videogiochi come duplicazioni di oggetti o modi per saltare aree?
Spiegami: come fanno le persone a trovare exploit nei videogiochi come duplicazioni di oggetti o modi per saltare aree?

Ed ecco le risposte:

A volte è il reverse engineering del codice del gioco. A volte è fatto da un sistema di password (i giochi che utilizzano un 'seme'o un altro indicatore per rari drop possono rendere del tutto possibile generare rapidamente una quantità enorme di detto oggetto)

&#x 200 B;

Ma spesso è forza bruta / caso. Anche i giochi ben testati non hanno neanche lontanamente la manodopera che avrà la base di giocatori. Potrebbero esserci alcune persone dedite che passano ore a correre contro i muri sperando di trovare un problema tecnico che li spinga attraverso, ma per la maggior parte è più il risultato di migliaia di giocatori e qualcuno che incontra un bug.

Con le migliaia, e talvolta milioni di persone che giocano, i bug sono destinati a essere trovati. Alcuni saranno condivisi su Internet.

Altre volte c'è chi cerca deliberatamente di trovare questi exploit semplicemente facendo la merda più strana . Alla fine sono tenuti a trovare qualcosa se ci provano abbastanza a lungo. Le persone possono anche guardare altri giochi con motori simili e vedere quali sono stati gli exploit e quindi provare quelle mosse nel gioco che stanno attualmente giocando. Ad esempio, i titoli bethesda vengono eseguiti sugli stessi motori e in alcuni casi molto simili, quindi i bug tendono ad essere molto simili.

A volte, oltre al reverse engineering dei file eseguibili del gioco, le persone possono anche decodificare il protocollo applicativo utilizzato dal client e dal server di gioco per comunicare su Internet.

Quello che fai è origlia tutto ciò che il tuo computer e il server di gioco si dicono. E se il gioco è mal codificato, puoi vedere cose come il client che dice al server “dammi 1 altro di questo elemento” e il server è ciecamente d'accordo. Sei quindi libero di riprodurre (inviare nuovamente) la stessa richiesta più e più volte.

È diventato molto improbabile che i giochi siano codificati in questo modo al giorno d'oggi, ma è stato visto in passato, credo che ci fosse qualcosa di abbastanza simile a questo con Guild Wars qualche tempo fa.

Sfruttare i videogiochi non è poi così diverso dallo sfruttare altri tipi di software. In generale, provi a fare qualcosa di inaspettato, eccessivo o semplicemente rapidamente, che fa sì che il software si comporti in modo strano, quindi continui a eseguire quell'azione in modo leggermente diverso, fino a ottenere il risultato desiderato.

Aiuta a capire come i giochi (e il software in generale) funzionano a un livello fondamentale. Ad esempio, il rilevamento delle collisioni viene utilizzato per determinare se due o più corpi si “toccano” nel mondo di gioco. Se comprendi i vari algoritmi utilizzati per eseguire il rilevamento delle collisioni e il fatto che i numeri con punti decimali hanno un comportamento strano sui computer, allora realizzerai alcuni “test” comuni che puoi eseguire nelle mappe che potrebbero farti passare attraverso i muri o qualcosa.

Cose come la duplicazione di oggetti sono per lo più fortuna. Uno sviluppatore ha fatto un'ipotesi sugli elementi che il giocatore ha finito per rompere.

Per alcuni giochi, tu può collegare quello che viene chiamato un “debugger” all'applicazione di gioco ed esplorare come è stato programmato il gioco. È quindi possibile eseguire operazioni come interrompere l'applicazione e seguire l'esecuzione riga per riga, controllando come i valori in memoria cambiano quando vengono eseguite varie azioni. Questo è chiamato punto di interruzione.

Generalmente, un hacker farebbe un sacco di cose folli in il gioco fino a quando non trovano un glitch, un blocco, un arresto anomalo, un rallentamento o forse solo un messaggio di errore. Quando ciò accade, accenderanno un debugger e lo collegheranno al gioco. Quindi inseriranno punti di interruzione nell'applicazione e in vari punti e attiveranno glitch, blocchi, arresti anomali, ecc., Esaminando il codice per vedere cosa sta causando il bug.

Dopo aver visto qual è il bug che causa l'arresto anomalo, l'hacker può quindi adattare le proprie azioni in in modo tale da poter attivare il bug, ma invece di bloccarsi, farà sì che il programma faccia quello che vuole.

Quindi, nell'esempio della duplicazione di oggetti, diciamo che l'hacker sta facendo un sacco di cose strane nella schermata dell'inventario, come trascinare oggetti dove non dovrebbero essere, ecc., finché non trovano un problema tecnico. Quindi collegano il debugger e notano che oh hey, il codice ricorda lo slot da cui ho preso un oggetto, e fa ciecamente uno stackSize ++; quando l'elemento viene rilasciato da qualche parte non appartiene, quindi cancella l'elemento dal cursore. Ma se posizionano il cursore sulla testa dell'avatar e rilasciano il pulsante del mouse, si attiva il codice di incremento della dimensione dello stack, ma l'elemento di cancellazione dal cursore no. In modo che possa essere ripetuto per ottenere infiniti elementi.

TL;DR: Knowing how computers / software lavoro, più pratica.

Solitamente sfortuna. Qualche tempo fa, ho premuto accidentalmente il tasto negativo durante la digitazione della quantità di oggetti che volevo eliminare dal mio inventario. Ho lasciato cadere elementi negativi, essenzialmente duplicandoli.