Romhacking.it Forums

Traduzioni => CD/DVD Console Hacking => Discussione aperta da: RyuH il Dicembre 06, 2008, 10:51:06

Titolo: Occorrente Hack ASM
Inserito da: RyuH il Dicembre 06, 2008, 10:51:06
Leggendo nei siti o nei forum di traduzione mi capita sempre di leggere, quando si parla d'una patch in corso, la dicitura"abbiamo fatto un hack asm". Mi pare di aver capito che per tradurre i giochi psx è una cosa semi indispensabile e vorrei imparare a farlo anchio. Però ciò che so è questo:0.

Qualcuno può spiegarmi in che consiste, di cosa ho bisogno e magari una guida dettagliata alla cosa?

Firmato: il solito rompiballe.
Titolo: Occorrente Hack ASM
Inserito da: Gemini il Dicembre 09, 2008, 09:30:12
Prima di cercare il necessario per modificare il codice, bisogna capire esattamente che modifiche ti serve apportare. Di norma gli hack assembly si fanno per riscrivere o alterare pezzi del gioco che non permettono la traduzione in maniera fluida o qualsiasi problema legato. Ad esempio, uno degli hack più comuni è l'implementazione di un font a larghezza variabile, per avere più testo a video, oltre che usufruire di una cosa più piacevole da vedere.

Riassumendo, l'hack sul codice va fatto solo se necessario.
Titolo: Occorrente Hack ASM
Inserito da: RyuH il Dicembre 09, 2008, 17:59:25
Mm..credo di capire..ma come si fa a capire per certo come agire?mi spiego..se ad esempio voglio modificare immagini di resident evil directors cut(modificando certi pixel l'img crasha)mi devo creare un tool su misura o modificare l hack asm?e come lo faccio?devo conoscere il linguaggio di programmazione del gioco?giusto per sapere qualcosa teoricamente..
Titolo: Occorrente Hack ASM
Inserito da: Gemini il Dicembre 09, 2008, 19:25:17
Per risolvere un problema del genere devi capire esattamente la causa del crash, analizzando il codice assembly del gioco tramite emulatore con debugger (o qualcosa che ti faccia vedere cosa succede nella console). Una volta finita l'analisi puoi passare alla soluzione, che nel caso di Resident Evil consiste nel levare un'istruzione che manda tutto all'aria. Anche altri problemi a livello di traduzione si risolvono in maniera analoga, solo che la modifica da apportare al codice sarà quasi sempre specifica al caso.
Titolo: Occorrente Hack ASM
Inserito da: RyuH il Dicembre 10, 2008, 22:33:27
Mmm...si ma una cosa non capisco..io presumendo che debba fare qualcosa come faccio a capire che devo fare quella stessa specifica?mi spiego meglio...prendiamo l'esempio di RE. Se devo levare un istruzione che manda tutto all aria come faccio a capire che è quella?dubito ci sarà scritto "manda tutto all'aria" ma ci saranno una serie di codici esadecimali o qualcosa di simile?insomma è questo che non capisco..mi puoi fare un esempio pratico di qualcosa che hai fatto tu?saresti molto gentile(scusami per la rottura di palle).
Titolo: Occorrente Hack ASM
Inserito da: Gemini il Dicembre 11, 2008, 12:35:40
Il trucco è pensare come ha operato il programmatore del gioco con la "protezione" e poi mettere breakpoint al posto giusto. Per RE, ad esempio, basta localizzare dove viene caricata in ram l'immagine che fa bloccare il gioco, mettere un breakpoint in lettura su uno dei pixel furfanti e vedere cosa fa il gioco quando li va a leggere. Da lì poi ti serve capire un po' che ragionamento attua il gioco e alterarlo a tuo vantaggio.
Titolo: Occorrente Hack ASM
Inserito da: RyuH il Dicembre 11, 2008, 13:47:04
Mmm..capisco...sembra un vero casino!
Titolo: Occorrente Hack ASM
Inserito da: Gemini il Dicembre 11, 2008, 13:52:39
Come tutte le cose nuove, è normale che all'inizio sembri complicato. La pratica rende perfetti, però.
Titolo: Occorrente Hack ASM
Inserito da: RyuH il Dicembre 11, 2008, 21:55:58
Mai parole furono piu giuste =) e dunque s'arriva all ultima domanda...che si usa per fare un hack?l'editor esadecimale?o anche lo strumento varia a seconda dell'evenienza?
Titolo: Occorrente Hack ASM
Inserito da: Gemini il Dicembre 12, 2008, 15:22:29
Ti servono anzitutto degli emulatori con debugger, o un dispositivo tipo Caetla. I primi sono più facili da usare e li trovi tutti qui (http://www.romhacking.net/?category=17&Platform=17&game=&author=&os=&level=&perpage=20&page=utilities&utilsearch=Go&title=&desc=). Io ti consiglio fortemente il primo di zHAOsILi, che sarebbe poi quello con la migliore interfaccia di breakpoint. Il secondo di Agemo, invece, non serve a molto per il debugging ma ha una bella utilità: può rilevare errori di allineamento dei dati (letture/scritture hword e word in locazioni non multiple di 2 o 4, per capirci). Ci sarebbe anche pSX, con cui io faccio regolarmente debugging della GPU (e basta :P), molto utile per capire cosa cambiare se stai effettuando un hack sulle primitive grafiche.

Per il disassemblaggio, personalmente uso IDA Pro Disassembler (http://www.hex-rays.com/idapro/) con dei moduli apposta per sgamare le librerie ufficiali Sony (per gentile concessione di Pixel). Unico problema è che questo si paga, per cui niente link. :P

E per finire, ti servirà un assemblatore per cambiare le istruzioni. In alcuni casi puoi anche fare a mano con un editor esadecimale, ma considerando la complessità della codifica delle istruzioni R3000, non sempre la cosa è fattibile. Ora come ora esiste solo un assemblatore pubblico utile per gli hack, ma è abbastanza rudimentale. Si chiama spAsm, e lo trovi qui (http://www.romhacking.net/utils/294/).
Titolo: Occorrente Hack ASM
Inserito da: RyuH il Dicembre 12, 2008, 20:00:13
Wow...grazie mille per tutto..link, spiegazioni, informazioni..e soppratutto per la monumentale pazienza. Ora do un occhiata e comincio a studiarci su e a fare qualche tentativo =) Ancora grazie mille!