Vai al contenuto

Hex Editor per trucchi vecchi videogiochi


  • Non puoi aprire una nuova discussione
  • Effettua l'accesso per rispondere
Questa discussione ha avuto 14 risposte

#1
nith

nith
  • life is a 0-1

  • StellettaStellettaStellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 2985

ciao ragazzi, non so se ne può parlare di questo programma perchè visto di malocchio da alcuni per via di potenziali usi illegali.

Quello di cui ho bisogno io da questo programma dovrebbe essere invece legittimo, nel senso che vorrei poter usare i trucchi per il gioco alone in the dark 2 comprato su Gog.com.

purtroppo per quelli vecchi si deve usare un hex editor (che solo in pochi sanno metterci le mani e capirlo), di cui non ci sono guide nella nostra lingua, al posto della consolle di comando come nei nuovi.

Il chè aumenta la difficoltà e il disagio nel dover compiere anche azioni semplici, per questo vorrei chiedere se esiste qualcuno nel forum che sa darmi un aiuto per editare un salvataggio del gioco con XVI32 hex editor.

 



#2
sims

sims
  • Strong Eye Fan

  • StellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 856

Non conosco l'hex editor che menzioni, ma sono tutti simili come impostazione: hai da una parte la visione in esadecimale del contenuto del file e dall'altra la visione in caratteri ASCII, dove riconosci eventuali stringhe di testo presenti. 

Fondamentalmente puoi fare delle ricerche sul contenuto, come ad esempio il nome dell'oggetto nell'inventario, o di numeri. Una ricerca di partenza potrebbe consistere nel trovare un numero che ti interessa; ad esempio nell'inventario hai 5 oggetti consumabili, cerchi tutte le occorrenze del numero 5, e ne modifichi una per vedere, una volta ricaricato il gioco, se il numero di quell'oggetto è cambiato. 

E' un processo costituito da diverse prove: fai una modifica, salvi, carichi il gioco e verifichi se la modifica ha avuto effetto, altrimenti esci (un errore di modifica potrebbe comportare il crash del gioco quando carichi il salvataggio modificato), fai un'altra modifica in un'altra locazione del file e ricarichi il gioco ed il salvataggio, a meno che non hai già una guida on line che indica dove effettuare il cambiamento.

E' fondamentale fare le prove su una copia del file di salvataggio, altrimenti potresti rovinare in maniera definitiva il salvataggio e non poterlo più utilizzare. 



#3
nith

nith
  • life is a 0-1

  • StellettaStellettaStellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 2985

Un argomentazione molto interessante la tua, purtroppo l' editor esadecimale che uso io non mi fa vedere le parole scritte nel riquadro ascii durante la visione del "dna" del salvataggio. per questo fatico non poco a trovare (o perlomeno, capire se faccio bene) le sequenze giuste spulciandomi le guide tecniche in inglese.

 

tuttavia quello che dovrei fare con un editor è semplicemente questo:

 

Per avere un'energia pari a 200 editate un salvataggio, ad esempio save0.itd, utilizzando un editor esadecimale, ad esempio PC Tools, e al settore 0047, locazione 0056, scrivete FF



#4
Akumasama

Akumasama
  • Bloodstained: Ritual of the Night

  • StellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 78002
Curiosità. Esiste software analogo per non fare ricerche su file di salvataggio, ma direttamente nella ram? Con un processo simile a quello che si faceva con le vecchie GameShark/ActionReplay in pratica.

Cerchi ad esempio la barra dell'energia, e una volta trovata sovrascrivi quel valore con un altro e voilà, energia infinita (esempio banale)

#5
sims

sims
  • Strong Eye Fan

  • StellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 856

Un argomentazione molto interessante la tua, purtroppo l' editor esadecimale che uso io non mi fa vedere le parole scritte nel riquadro ascii durante la visione del "dna" del salvataggio. per questo fatico non poco a trovare (o perlomeno, capire se faccio bene) le sequenze giuste spulciandomi le guide tecniche in inglese.

 

tuttavia quello che dovrei fare con un editor è semplicemente questo:

 

Per avere un'energia pari a 200 editate un salvataggio, ad esempio save0.itd, utilizzando un editor esadecimale, ad esempio PC Tools, e al settore 0047, locazione 0056, scrivete FF

 

Ho anche io Alone 1 di GOG.com, ed ho fatto una prova molto veloce sostituendo tutte le occorrenze del numero 20 (energia iniziale - 14 in esadecimale) con FF, ottenendo un valore dell'energia superiore a 26.186 (questo è il valore che mostra lo status screen del gioco, ma venendo colpiti non decresce, quindi penso che in realtà il valore della salute sia superiore a quello mostrato, ed inoltre non riesco a trovare questo valore memorizzato nel file).

Quello che bisognerebbe fare è cercare tutte le occorrenze del numero 20 (e sono diverse), segnarsele (ma sono troppe in questo specifico caso!), farsi colpire per far diminuire l'energia, salvare con il nuovo valore dell'energia, cercare tutte le occorrenze del nuovo valore che si trovano nelle stesse locazioni del file che in precedenza avevano come valore quello iniziale (20): in questo modo riesci ad individuare le locazioni del file che indicano l'energia del personaggio. La prova che ho fatto io non ha comportato crash del gioco, ma non è comunque un file di salvataggio "sicuro", perché presenta molti valori sballati dovuti alla modifica indiscriminata di tutti i byte del file con il valore esadecimale 14.

Quando ne ho la possibilità, vedo di provare a seguire l'indicazione che hai trovato, e ti faccio sapere.

 

 

Curiosità. Esiste software analogo per non fare ricerche su file di salvataggio, ma direttamente nella ram? Con un processo simile a quello che si faceva con le vecchie GameShark/ActionReplay in pratica.

Cerchi ad esempio la barra dell'energia, e una volta trovata sovrascrivi quel valore con un altro e voilà, energia infinita (esempio banale)

 

Molti emulatori danno questa possibilità per creare nuovi cheat, ma nei giochi odierni non è possibile perché l'OS blocca l'accesso alle aree di RAM assegnate agli altri processi in esecuzione nel PC.



#6
nith

nith
  • life is a 0-1

  • StellettaStellettaStellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 2985

Wow! pensa che coincidenza! stavo proprio facendo l' alone in the dark 2 comprato da gog.com

 

solo che aprendo l' editor esadecimale nella colonna del testo appaiono un sacco di lettere e simboli senza che mai compongano una sola parola.

 

ora provo un po a spataccare prendendo spunto da quello che hai scritto, nel frattempo fai delle prove anche tu a tempo perso, così riusciamo a risolvere la cosa in poco ;)



#7
sims

sims
  • Strong Eye Fan

  • StellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 856

Ho recuperato da alcuni siti degli indirizzi utili per Alone in the dark 2.

Qui: http://www.abandonia...?t=11697&page=7 ci sono delle indicazioni utili, come ad esempio la salute del personaggio all'indirizzo 68C4 (versione inglese del gioco). A questo indirizzo, inserendo ad esempio FF, l'energia del personaggio (una volta ricaricato nel gioco il file di salvataggio modificato) risulta di 202 unità.

8yxst2.jpg

 

Per capire se sei nell'indirizzo giusto del file, in basso a sinistra hai l'indicazione della locazione. Il file che vedi nell'immagine non è un salvataggio del gioco, è solo un esempio.

Ho provato un paio di valori indicati nel sito, per energia del personaggio e munizioni, e funziona.

Ho a1nche trovato qualcosa inerente il primo alone in the dark ( http://www.ultrachea...n the Dark.html ), ma non ho ancora fatto le prove



#8
nith

nith
  • life is a 0-1

  • StellettaStellettaStellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 2985

GRAZIE!!!!! finalmente sono riuscito a capire! 

 

quel sito che mi hai postato di abandonware l' avevo già visto prima di scrivere il topic e onestamente mi ero un po perso nei calcoli e nei codici...

ma ora grazie alla tua spiegazione ho capito "il sistema" in maniera molto più chiara e concettuale.

 

la vita l' ho portata a 32000!!!

 

finalmente posso rifare il gioco senza incartarmi nell' ultima parte!



#9
sims

sims
  • Strong Eye Fan

  • StellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 856

Ho fatto alcune prove per il primo Alone in the Darkness, di cui non si trovano indicazioni in giro. La codifica utilizzata prevede i numeri negativi, quindi, su 16 bit a disposizione (2 byte), il numero massimo di energia del personaggio, o di munizioni per un arma, è 32767 (7F FF).

Ho individuato i seguenti indirizzi del file di salvataggio:

 

Vita - 0x4DAA e 0x4DAB

Munizioni Rifle - 0x4D9A e 0x4D9B

Munizioni Revolver - 0x4E38 e 0x4E39

Lampada - 0x4D90 e 0x 4D91

 

I dati nel file di salvataggio sono in formato little-endian, quindi per inserire il numero massimo, 7FFF, ad esempio per la vita del personaggio, 7F va inserito nel byte all'indirizzo 0x4DAB, ed FF nel byte "precedente", ovvero 0x4DAA. Stesso meccanismo per gli altri.



#10
nith

nith
  • life is a 0-1

  • StellettaStellettaStellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 2985

Cavolo, avrei dovuto diventare programmatore io XD

 

non ho ben chiaro che differenza ci possa essere tra little endian e le sue altre scelte ma penso di avere capito i concetti chiave.

 

ma dimmi una cosa, quei valori che hai individuato li hai trovati da solo o spulciando su internet?



#11
sims

sims
  • Strong Eye Fan

  • StellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 856

Cavolo, avrei dovuto diventare programmatore io XD

 

non ho ben chiaro che differenza ci possa essere tra little endian e le sue altre scelte ma penso di avere capito i concetti chiave.

 

ma dimmi una cosa, quei valori che hai individuato li hai trovati da solo o spulciando su internet?

I valori trovati su internet per il primo gioco non hanno portato a nulla. Ho però preso "ispirazione" dalle informazioni valide per il secondo gioco, e cioè che l'inventario non fosse proprio all'inizio del file di salvataggio. Ho quindi fatto un primo "ciclo" di prove per l'energia del personaggio, cercando tutte le occorrenze del numero 20 (energia iniziale. 14 in esadecimale) ed andando a modificarle una ad una, partendo però dal fondo del file, sempre per "l'ispirazione" di cui dicevo. Dopo varie prove ho trovato il byte giusto. Alterando il valore del byte precedente e successivo, ho capito la disposizione dei byte (little endian) ed il valore massimo che è possibile inserire.

Una volta avute queste prime informazioni si possono velocizzare le ricerche successive: 1) cerco il valore iniziale (ad esempio 6, il numero di munizioni del revolver appena preso) non più come singolo byte, ma come word (due byte in questo caso) dove però so che il secondo byte è zero (per la questione little endian), quindi cerco solo le coppie di byte 06 00, che sono sicuramente meno dei singoli byte con il numero 06. 2) mi concentro solo sulle coppie di byte trovate che sono vicine agli indirizzi dell'energia del personaggio, perché presumo che questi valori siano memorizzati in un'area del file di salvataggio che si occupa delle statistiche del personaggio e dell'inventario. Infatti, se ci fai caso, il numero delle munizioni del Rifle, della lampada e del revolver sono in coppie di byte vicini.



#12
nith

nith
  • life is a 0-1

  • StellettaStellettaStellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 2985

Caspita, complimenti per il lavoro!  :applauso:

comunque alone in the dark, per fortuna, non mi ha dato noie nel finirlo senza problemi, quindi non ho dovuto arrampicarmi sugli specchi per trovare codici su codici.

 

non capisco però quegli zero (giusto pour parlè): Vita - 0x4DAA e 0x4DAB

perchè nel programma da me menzionato non vengono citati esplicitati.

per logica ho pensato che lo "0x" sia da togliere e cercare l' indirizzo esadecimale 4DAA



#13
sims

sims
  • Strong Eye Fan

  • StellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 856

Caspita, complimenti per il lavoro!  :applauso:

comunque alone in the dark, per fortuna, non mi ha dato noie nel finirlo senza problemi, quindi non ho dovuto arrampicarmi sugli specchi per trovare codici su codici.

 

non capisco però quegli zero (giusto pour parlè): Vita - 0x4DAA e 0x4DAB

perchè nel programma da me menzionato non vengono citati esplicitati.

per logica ho pensato che lo "0x" sia da togliere e cercare l' indirizzo esadecimale 4DAA

Si, hai fatto bene! E' una convenzione mettere lo 0x davanti ad un numero per specificare che è in formato esadecimale, non avevo fatto caso che nell'hex editor non vengono mostrati!

Comunque è stato divertente: anni fa era possibile cercare di capire come i programmatori dei giochi avessero organizzato i dati nei file di salvataggio, mentre oggi sono quasi tutti crittografati ed il lavoro è molto più oneroso!



#14
nith

nith
  • life is a 0-1

  • StellettaStellettaStellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 2985

beh oggi sarebbe più facile con la consolle di comando, non trovi?



#15
nith

nith
  • life is a 0-1

  • StellettaStellettaStellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 2985

Curiosità. Esiste software analogo per non fare ricerche su file di salvataggio, ma direttamente nella ram? Con un processo simile a quello che si faceva con le vecchie GameShark/ActionReplay in pratica.

Cerchi ad esempio la barra dell'energia, e una volta trovata sovrascrivi quel valore con un altro e voilà, energia infinita (esempio banale)

 

 

Potresti provare con il programma HxD

è in grado di leggere i settori degli hard disk e credo anche le ram ma dovresti sperimentare..






Leggono questa discussione 0 utenti

0 utenti, 0 ospiti, 0 utenti anonimi

Logo