Ajuda com ASM Hacking de Ponteiros

Iniciado por kuroi, Março 16, 2017, 18:46:25 PM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

kuroi

Boa noite, senhores!
Aqui estou eu de volta com mais algumas dúvidas sobre a minha caminhada incessante no intuito de se tornar um Romhacker!

Atualmente estou pegando pesado nos estudos do meu Dumper/Inserter em C para o jogo do Crystalis de GBC.

Até então, com meu próprio esforço eu consegui fazer um software totalmente funcional (console) que retira os textos da ROM, reinsere os mesmos (comparando o número de caracteres entre o Script original e o modificado) e também calcula os ponteiros. Ou seja, a ferramenta já está deveras completa...

Porém, me surgiu um pequeno problema, que até tinha comentado no chat. Ao reescrever os Scripts na ROM, os endereços dos ponteiros originais são, algumas vezes "atropelados", pelo Script modificado. Mesmo depois de modificar os ponteiros para o próximo diálogo. Ou seja, existe sempre algo dizendo que a tabela de ponteiros deve iniciar e terminar sempre no mesmo intervalo de Offsets...

Frente a isso, parti para estudos em ASM para Gameboy. Achei vários sites interessantes sobre ASM Hacking de Gameboy, porém ainda não consigo fazer muita coisa dentro do debugger gbp...

Eu gostaria de alguma luz de alguém aqui do fórum que possa me indicar alguma forma de encontrar os endereços desses Ponteiros dentro da ROM...

Obrigado e até mais!!
君の夢が叶うのは誰かの影じゃないぜ。
風の強い日を選んで走ってきた。

denim

Sete breakpoint de leitura nas posição onde sabe que existe texto. Após o breakpoint ocorrer, copie o trace log gerado para um editor de texto e faça análise reversa, do fim para o começo.

Vá seguindo o valor dos registradores que possuem o endereço da memória acessada (ROM ou RAM) até encontrar onde na ROM ele foi copiado.

Pronto, encontrou o ponteiro.

http://www.bau.romhacking.net.br/index.php?topic=6228.0