####################################################################### Luigi Auriemma Applicazione: Motore di gioco di Ghost Recon e alcuni giochi sviluppati da Redstorm http://www.ghostrecon.com Games/Ver: Ghost Recon <= 1.4 Desert Siege The Sum of all Fears <= 1.1.1.0 Piattaforme: Windows Bug: crash remoto, possible congelamento del sistema Exploitation: remoto, contro server e client Data: 24 Feb 2004 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduzione 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduzione =============== Ghost Recon e' un gioco FPS militare sviluppato da Redstorm (http://www.redstorm.com) e distribuito da Ubisoft (http://www.ubisoft.com). E' stato rilasciato nel lontano 2001 ma il suo motore e' stato usato anche per il gioco "The sum of all fears" nel 2002. Inoltre il gioco e' ancora molto supportato dalla comunita' di giocatori in quanto esistono diversi MOD creati per esso. ####################################################################### ====== 2) Bug ====== Il bug e' localizzato nella gestione delle stringhe di testo. Infatti ogni stringa e' preceduta da un numero a 32bit che ne specifica la grandezza. Quando il server (od il client) riceve i dati, vengono chiamate alcune funzioni che gestiscono questi numeri a 32bit ed i dati che li seguono ma i valori di ritorno di tali funzioni non sono mai controllati quindi avremo alcune eccezioni, la prima delle quali avviene all'istruzione "mov byte ptr [eax], 00" dove EAX e' 0x00000000. Dopo il crash il sistema non sembra recuperabile ed il riavvio e' necessario. ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/grboom.zip ####################################################################### ====== 4) Fix ====== Nessun fix disponibile. Ho parlato con gli sviluppatori ed il gioco sembra non essere piu' supportato. #######################################################################