Menu

Mostrar postagens

Esta seção permite que você visualize todas as postagens feitas por este membro. Observe que você só pode ver postagens feitas em áreas às quais tem acesso atualmente.

Menu Mostrar postagens

Mensagens - Snow

#1
Voltei pra dar um retorno aos colegas que puderam ajudar, estou muito grato..

Eu não mexia com programação tinha uns 10 anos, desde o curso de informática.... suei! mas é incrível como se aprende quando se tem que fazer algo em que realmente está interessado.

kuroiSeu código foi o norte que me faltava, tive que pesquisar manipulação de arquivos, as funções, deslocamento de bits...finalmente depois de fazer testes e ir arrumando a ferramenta saiu...o que eu gastava quase uma hora pra fazer, agora bastam alguns segundos.

A propósito, a única coisa que não compreendi bem como funciona é a parte de deslocamento de bits que você fez:

                        Byte4 = (unsigned char)(i & 0x000000FF);
         Byte3 = (unsigned char)((i>>8) & 0x000000FF);
         Byte2 = (unsigned char)((i>>16) & 0x000000FF);
         Byte1 = (unsigned char)((i>>24) & 0x000000FF);
Deu certinho, mas fiquei sem compreender bem o significado..


#2
kuroi, excelente, consegui uma direção estou estudando o funcionamento dessas funções e da lógica usada. Ajudou imensamente..

tvtoon imagino que a resposta é aprender a programar rsrs.. de qualquer forma olharei ele pra ver como funciona...

obrigado pessoal, quando eu conseguir eu dou um retorno..
#3
kuroi, boa tarde, vlw a atenção.. o que acontece é que tenho uma noção básica de Linguagem C somente... estou lendo exatamente o seu livro sobre Romhacking (que é muito bem explicado, acho que todos que têm interesse em criar ferramentas para romhacking deveriam ler) para compreender como faz a leitura e a escrita no arquivo binário sem ter problemas.

A ideia que tive foi exatamente como você mencionou, agora falta transferir isso pra linguagem C.

Eu consegui isso:
{000A35D8}
O homem veio da galinha,{0A}
mas a galinha nega{0A}
paternidade.{00}


mas de uma maneira alternativa, usando um Extrator gringo, e a partir daí, usando o Excel (o qual domino bem) eu consigo a lista de ponteiros Originais e a Lista de ponteiros Modificados de forma automática, assim pelo menos eu só tenho que fazer o "replace".

Então o que eu to pensando basicamente é um programa simples pra fazer o seguinte:

1.
Ler arquivo original (para percorrer no intervalo de texto)
Ler o arquivo traduzido (para percorrer no intervalo de texto)

2.Achei a quebra de cena, no próximo byte pego o offset pra fazer o cálculo do ponteiro. Faço isso nos dois arquivos, assim vou armazenar os dois ponteiros (original e o novo).

3. Busco no arquivo modificado o ponteiro original, substituo pelo ponteiro novo..

Acredito ser essa lógica... 

#4
tvtoon, considerações importantes as suas:

1) Os valores são ponteiros originais, quero substituir por ponteiros modificados.

2) Os ponteiros não estão todos em sequência, não consigo usar o Kruptar por exemplo, estudei muito ele, mas quando vai para o ponteiro que está fora de ordem, acaba dando problema.

3) Eles são os ponteiros, consegui de uma forma alternativa alterá-los automaticamente usando um Dump de texto pra marcar os offsets dos finais de cena e importando pro Excel. Maneira meio que alternativa, mas é com o que sei trabalhar.... então com alguns cliques consigo pegar os ponteiros originais numa coluna e na seguinte tenho eles recalculados.

4) Substituição de ponteiros antigos, por novos. Esses ponteiros não seguem uma sequência no bloco.

Então a ideia era com Editor Hex fazer a substituição no arquivo do jogo.

Buscar: pont1, pont2, pont3, pont4 (a lista q tenho de valores hexadecimais distintos na coluna do excel)
Subistituir por: pont1_recalculado, pont2_recalculado, pont3_recalculado...

acabei de fazer 80!!! um por um!

Kamppelo,
Com certeza irei testá-lo agora.
#5
Então denim... eu imaginei que pudesse ter, por que nada mais é do que ao invés de procurar e substituir por um valor.... seria uma cadeia de valores... Sou leigo em programação, to estudando o código C de um programa de Inserção e recalculo de ponteiros para ver se consigo adaptar...
#6
Olá pessoal, estou precisando de ajuda com uma situação que me apareceu durante minha caminhada, procurei e testei vários editores hexadecimais, mas não consegui algo que realizasse o seguinte:
-Tenho vários Hexadecimais originais fora de sequência.
ex:
Lista original, na ROM:

WWWWWWWW B1B2B3B4 C1C2C3C4 D1D2D3D4
E1A2A3A4 F1B2B3B4 XXXXXXXX YYYYYYYY
A1A2A3A4 ZZZZZZZZ C1C2C3C4 D1D2D3D4

Obs: o tamanho é o mesmo para cada um dos que serão substituídos.

Quero substituir os que estão em negrito por uma outra sequência de Hexadecimais, fincando por exemplo:
AAAAAAAA B1B2B3B4 C1C2C3C4 D1D2D3D4
E1A2A3A4 F1B2B3B4 CCCCCCCC FFFFFFFF
A1A2A3A4 CCCCCCCCC1C2C3C4 D1D2D3D4

Estou fazendo manualmente, pois os editores que testei, substitui uma única sequência por vez.
O que preciso é: um editor que pegue a lista a procurar e substitua pela outra lista.
Procurar por:
WWWWWWWW
XXXXXXXX
YYYYYYYY
ZZZZZZZZ
Substituir em sequência por:
AAAAAAAA
CCCCCCCC
FFFFFFFF
CCCCCCCC

Se alguém conhecer algum programa que faça essa tarefa, ou alguma maneira de se conseguir isso.
#7
Excelente o material, reacendeu minha vontade de programar de tão bem explicado. Espero conseguir criar minha primeira ferramenta pra um projeto de tradução.