Romhacking.it Forums

Traduzioni => CD/DVD Console Hacking => Discussione aperta da: Infrid il Agosto 09, 2005, 16:33:14

Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Infrid il Agosto 09, 2005, 16:33:14
salve a tutti, ho ripreso a dannarmi inutilmente l'esistenza con ace combat 3 jap e per verificare la mia ipotesi che gli ideogrammi non sono altro che immagini TIM ho emulato il gioco con ePSXe, quando mi compariva il "testo" ho messo subito in pausa e ho creato un save state.
Preso il save state mi sembrava assurdo che tutta la memoria volatile fosse 1,5MB e rotti. ho rinominato il file .zip e sono riuscito ad ottenere il file originale!

di corsa ho preso timrip ed ho fatto esaminare il file, è come pensavo! il testo è dentro delle semplici e volgari TIM!! :D
è tutto lì, bello decompresso nella ram.

decompresso perché facendo esaminare i file nel CD a timrip non trova quelle cose quindi (implicazione) i file sono compressi o criptati.

spulciando con un hex editor i file eseguibili ho trovato:

ulz decoder ver.1.05 programmed by Junichi Sakai

bene, credo che questo sia la chiave per decomprimere le immagini con il testo...ulz l'ho riscontrato in diversi punti nell'immagine e sembra un flag (o un tipo di file) per segnalare la chiamata ad una funzione, vado con Adisasm a prendere il file exe dove avevo letto ulz decoder e mi ritrovo le seguenti righe

800BCB44   207A6C75   ulz
800BCB48   6F636564   deco
800BCB4C   20726564   der
800BCB50   2E726576   ver.
800BCB54   35302E31   1.05
800BCB58   6F727020    pro
800BCB5C   6D617267   gram
800BCB60   2064656D   med
800BCB64   4A207962   by J
800BCB68   63696E75   unic
800BCB6C   53206968   hi S
800BCB70   69616B61   akai
j   0x84080420
800BCB78   00000300   ....
800BCB7C   00000000   ....
800BCB80   02000400   ....
800BCB84   800C0418   ...€
800BCB88   00070004   ....
800BCB8C   00000000   ....
800BCB90   03000004   ....
800BCB94   00000000   ....

quel jump non mi porta da nessuna parte nel file :(
il mio obiettivo è localizare la routine di decompressione ma non risco a trovarla. dovrei tracciare del codice asm ma non so come fare con ePSXe, ho letto in giro che si fa con un AR ed una periferica ISA (ed una PSX materiale);ma io non ho una porta isa nel PC e non saprei come arrangiarmi.

il file di salvataggio di ePSXe scompresso ottenuto è 4.182.486 bytes mentre la ram della PSX è di 1,9MB

com'è suddiviso il file di salvataggio? a che offset è salvata la ram?? ho ignorato qualcosa? qual'è la cosa migliore da fare a questo punto???


grazie
Infrid[CODE]
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Gemini il Agosto 09, 2005, 19:31:28
Il procedimento che hai usato tu serve a poco e nulla. Quella che hai trovato non è altro che una semplice stringa di debug, che di norma durante la compilazione viene messa a casaccio nell'eseguibile per essere poi ripresa tramite puntatore annesso.

Per trovare quella routine di decompressione, fai un dump della ram (non save state), segna l'indirizzo in cui viene scritta la tim, poi prendi un debugger PSX (PCSX di un cinese aveva proprio questa funzione, altrimenti il solito kit con Caetla dovrebbe andar bene), controlla quando il gioco scrive nella locazione trovata dal dump della ram e il gioco è fatto. A quel punto tocca semplicemente al tuo cervello capire come funziona, e conoscendo l'asm psx, non ci vorrà molto. ;)

Dimenticavo, sposto nella sezione giusta. In problemi non c'entra nulla. :/
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Infrid il Agosto 12, 2005, 21:22:29
grazie, quindi ho trovo il pcsx modificato oppure prendo il kit?
non si potrebbe più semplicemete prendere i sorgenti di epsxe e modificarli per aggiungere funzionalità??

indago...
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Gemini il Agosto 12, 2005, 23:42:10
Citazionegrazie, quindi ho trovo il pcsx modificato oppure prendo il kit?
non si potrebbe più semplicemete prendere i sorgenti di epsxe e modificarli per aggiungere funzionalità??

indago...
ePSXe non ha sorgenti rilasciati, per cui credo sarebbe un po' difficile, inoltre l'ultima versione è, come dire, una porcata. Se vuoi PCSX con il debugger del cinese, prova qui (http://www.crosser.altervista.org/index.php?ind=downloads&op=entry_view&iden=3). Appena possibile vedo di farlo mettere nell'archivio a Clomax o chi ne fa le veci.
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Infrid il Agosto 14, 2005, 15:15:23
grazie mille, ma mi bisognano dei file che non ricordo più il nome. oltre a zlib c'è bisogno di un'altra cosa...
ho winxp home
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Gemini il Agosto 14, 2005, 19:56:04
Prendi tutti i file mancanti dal normale PCSX.
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Infrid il Agosto 16, 2005, 16:32:26
ma quale versione?
con la 1.5 non funziona....
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Gemini il Agosto 16, 2005, 22:54:27
A me funziona perfettamente. Ho 3 versioni dello stesso PCSX, una base, una con tracer e l'ultima con debugger e non fanno una piega. Se configuri una, si configurano nello stesso modo anche le altre due.
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Infrid il Agosto 18, 2005, 14:19:15
grazie tante gemini per il tuo aiuto, sono riuscito a fare partire il debugger e per il momento ci sto giocando un po'

...dove trovo la versione con tracer??? :unsure:

grazie.
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Gemini il Agosto 18, 2005, 15:16:41
Ce l'ho conservato, ma ti sconsiglio di usarlo, alla fine non serve a nulla un tracer per giochi scritti in c.
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Infrid il Agosto 19, 2005, 15:40:57
quindi ora rimane il problema del dump della ram. se non lo sifa con il save state come si fa? il debugger non mi sembra che abbia una funzione che mi possa aiutare in proposito
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Sephiroth 1311 il Agosto 19, 2005, 16:44:01
Citazionequindi ora rimane il problema del dump della ram. se non lo sifa con il save state come si fa? il debugger non mi sembra che abbia una funzione che mi possa aiutare in proposito
Usa PEC (PSX Emulation Cheater), ha la funzione di dump della ram.
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Gemini il Agosto 19, 2005, 21:44:36
Oppure, apri un savestate di PCSX, vai all'indirizzo 0x9020 e copia i 2MB (che siano 2MB precisi, non 2.000.000 di byte). Avrai il tuo bel dump di ram.
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Infrid il Agosto 20, 2005, 13:17:29
grazie a tutti, mi metto a lavoro!
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Gemini il Agosto 20, 2005, 13:31:46
Infrid, vedi se a te funzionano completamente le memory card. A me, brisma e al saffo proprio non vanno. :/
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Infrid il Agosto 22, 2005, 11:25:14
le memory card funzionano perfettamente, all'inizio avevo problemi (diceva che non li poteva trovare) ma poi si è risolto tutto da solo.

sto avendo problemi ad inserire gli indirizzi in memwrite,

faccio il dump della ram
rippo le tim con timrip
guardo l'offset di quelle che mi interessano
li converto in esadecimale e ci aggiungo 0x80010000

l'emulatore non si blocca dove mi aspetto e va tutto liscio

sbaglio qualcosa?

intanto continuo ad indagare e provare...
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Gemini il Agosto 22, 2005, 11:58:26
Devi aggiungere 0x80000000, non 0x80010000. Comunque stranissima la storia delle memory card. Da me ancora non funzionano, e la cosa mi servirebbe per CC. ;_;
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Infrid il Agosto 23, 2005, 21:25:12
forse perché io uso i file che ho dumpato direttamente dalle memory fisiche
prova a creare con un programma a parte una memory card format .MC (è quello che ho uso io)

:)
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Gemini il Agosto 23, 2005, 21:31:58
Ho già avuto conferma da un membro del team di PCSX: l'emulatore è buggato. Alcuni giochi funzionano, altri no. Purtroppo i giochi Square sembrano non andare. I file delle memory card in sé non cambiano nulla, qualsiasi sia il formato in cui sono codificate (alla fine sono tutti uguali).
Titolo: [asm Psx] Non Trovo La Routine
Inserito da: Infrid il Agosto 24, 2005, 22:04:45
capisco,
intanto mi sto divertendo a reversare :D, a quanto pare è una compressione molto semplice. i byte contigui li raggruppa e con un ciclo li scrive il numero sufficiente di volte :)