Foro CLABA

Únete a la gran comunidad de amantes de los juegos y películas retro.

¡Comparte tu pasión con nosotros!

Traducir juegos (o como editar archivos en formato HEX)

bbypka

Alma en pena
Miembro del Staff
Registrado
31 Mayo 2020
Mensajes
3.182
Lo primero que se necesita es un programa para editar de esta forma, yo uso HxD, que además es gratuito XDDD, pero sirve cualquier otro, lo básico al editar un archivo hexadecimalmente es cambiar letra por letra y no tocar nada más, el exe lee los textos buscando una posición dentro de X archivo y hasta el siguiente "00" que le indica parar (*), si quitamos o añadimos una letra esas posiciones se verán "desplazadas" y no las encontrará, otra cosa importante es saber que lo más normal es que el juego no admita acentos ni los símbolos ñ¿¡, muchos juegos tienen las fuentes en archivos donde estos símbolos no existen, a veces son imágenes que se pueden modificar, otras veces no, de todas formas una de las primeras cosas al traducir algo es probarlo a ver si traga, que muchos tragan XDDD

* En ocasiones no hay 00 entre frases, en su lugar se ven 0A o cosas así, pero no 00, en esos casos el exe no busca posiciones, trata todo el texto como un único texto con sus saltos de línea y demás incluidos, lo normal (no siempre es así XD) es que se pueda alargar o acortar al gusto aunque se desplacen las posiciones (teniendo en cuenta que luego quepa en pantalla claro XDDD), lo que se ve entre frases suelen ser eso, cambios de línea, tamaño de la fuente, pueden ser varias cosas, pero no nos influyen siempre que los respetemos, esto es, que detrás de cada "frase" sigan estando estos "símbolos extraños" aunque la hayamos alargado/acortado XDDDDD.

Una cosa más, no todo se puede editar en hex, muchos juegos tienen los textos comprimidos dentro de otro archivo, en esos juegos no se encuentran los textos por mucho que se abran los archivos en hex.

Vamos allá, al abrir cualquier archivo hay dos formas de editar el texto, modificándolo directamente en la parte derecha (lo más fácil), o escribiendo el código de cada letra en la izquierda, esto va bien saberlo para no confundir un "00" en el lado izquierdo (que se muestra como un punto en el lado derecho) que no es nada, es un vacío, por decir algo, con el punto de verdad (.) que en el lado izquierdo se muestra como "2E".

TUTORIAL-HEX-01.png

Aquí podemos ver un texto, la versión en inglés solo tiene un "00" al final de la frase, este "00" es lo que le dice al juego hasta donde puede leer, es decir, cuál es el final de la frase, como he dicho no se pueden añadir o quitar caracteres, pero si nos sobran "sitios" podemos rellenarlos, bien con espacios, bien con "00", la diferencia radica en si el juego centra o no la frase, si la centra y usamos espacios, como los espacios cuentan la frase sale mal centrada, en cambio, si rellenamos con "00" (aunque en realidad con un solo "00" al final de la frase bastaría) sale bien centrada, después y para el futuro estos "00" extras no nos molestan, ya que sabemos que podemos usar todos los "00" del final de una frase menos el último así que...

TUTORIAL-HEX-02.png
TUTORIAL-HEX-03.png

Repito, solo es cambiar letra por letra, como se puede ver en esta frase de arriba, no se toca nada más.

Como saber que archivos traducir?, buf, pueden estar en el exe o en cualquier sitio, probando, a veces se alinean los astros y los archivos se llaman DOTZweapon, DOTZItems, DOTZMenu, y cosas así que te dan una ligera pista XDDDD, pero básicamente se trata de buscar (con el buscador del propio editor hex) en los archivos la frase que quieres cambiar, los textos pueden estar en cualquier parte y tener cualquier extensión.

Una vez hecha la búsqueda veremos que la palabra puede repetirse y no sabemos cuál tocar, por ejemplo, busco CONTINUE y aparecen varios, uno de ellos es un texto más largo tipo "bla bla bla yo can continue bla bla", pues este no es, buscamos solo CONTINUE, esto se puede evitar un poco afinando la búsqueda, en lugar de buscar continue, buscamos como hex su equivalencia, 43 4F 4E 54 49 4E 55 45 00, pero añadiendo un 00 al final, sabemos que buscamos un texto que tiene un 00 tras continue (todo final de frase o palabra lleva uno) así que de esta forma saldrán menos opciones, aun así es fácil que salgan varios CONTINUE, hay dos opciones, o los traduces todos esperando no meter la pata, o buscas exactamente cuál es el CONTINUE que se muestra en pantalla, ojo, los juegos son unos tocagfxd y en ocasiones el Cancel o el Back de una pantalla no es el mismo que el de otra XD.

Para buscar cuál es exactamente yo lo que hago es "marcar" los continue con los que dudo, y lo hago sustituyendo la primera letra por un número, 1ONTINUE, 2ONTINUE, 3ONTINUE, esto es fácil de buscar después, luego ejecuto el juego y voy a ver que pone, una vez identificado restauro los que no son (les devuelvo su C) y cambio el que sí.

Como veis, editar en hex es como editar con notepad, pero sin borrar nada ni agrandar ningún texto, cambiando una letra por otra, que te faltan letras para una palabra?, pues te fastidias y usas un sinónimo XD (a no ser que sea un .exe en cuyo caso puedes probar con exestringz), que te sobran letras?, pues pones espacios o "00" en esos sitios que te sobran.


Alargar textos de un .exe:

Como se ha comentado, al editar en formato HEX tenemos que tener cuidado de no alargar o acortar nada, pero existen otras fórmulas que se pueden probar siempre que el archivo sea un exe, y el programa "exestringz" es uno de ellos, este programa es capaz de leer un archivo .exe permitiéndonos alargar frases o palabras, es cierto que muchas veces no saca todo el texto de un exe, lo cual hace que no podamos modificar algunas cosas, pero vale la pena probarlo.

Su funcionamiento es muy sencillo (si se usan los bats que he dejado en el adjunto).
  • Copiamos junto al programa nuestro archivo exe.
  • Cambiamos el nombre del exe a "Aplicacion.exe", o bien editamos los bat para poner el nombre real del exe.
  • Ejecutamos "(1) Leer EXE.bat" (obtendremos el archivo Lectura.txt con las frases que encuentre el programa).
  • Buscamos en Lectura.txt la frase/s (o palabra) que queremos alargar, las copiamos en el archivo ESCRIBIR.txt y modificamos el texto.
  • Ejecutamos "(2) Escribir EXE.bat" para que escriba las nuevas frases en el exe.
  • Renombramos el exe con su nombre original
La forma de copiar cosas para modificarlas es la siguiente, del archivo Lectura.txt copiamos la palabra (o frase) que nos interesa junto con la "linea" y los numeros superiores, en este caso vemos como seleccionar "Vel.ataq ++"

TUTORIAL-HEX-04.png

Copiamos la frase en el archivo ESCRIBIR.txt y la modificamos al gusto, en este caso seria:

________________________________________________________________________________1-000226ba___000910d0/004932d0
Velocidad de ataque ++

Y ya está, en caso de querer cambiar más cosas solo hay que ir añadiendo las frases en el ESCRIBIR.txt una detrás de otra tal que así:

________________________________________________________________________________1-000226ba___000910d0/004932d0
Vel.ataq ++
________________________________________________________________________________1-0002273a___00091064/00493264
bloq rápido
________________________________________________________________________________1-00022751___0009102c/0049322c
Flechas de velocidad aleat.

Pero ya modificadas claro XDDD:

________________________________________________________________________________1-000226ba___000910d0/004932d0
Velocidad de ataque ++
________________________________________________________________________________1-0002273a___00091064/00493264
bloqueo rápido
________________________________________________________________________________1-00022751___0009102c/0049322c
Flechas de velocidad aleatoria


Luego solo quedara ejecutar el bat "(2) Escribir EXE.bat" para que escriba las nuevas frases en el exe, y que lo que hayamos escrito quepa en la pantalla XDDDD

Una cosa IMPORTANTE!!! El programa necesita un exe limpio para funcionar, esto significa que no se puede añadir una frase hoy y otra pasado mañana XDDD, hay que escribir todas las frases en el mismo momento o el programa dará error XD
 

Archivos Adjuntos

  • exestringz.rar
    34,8 KB · Visitas: 7
Última edición:

JR-Comanga

Cazador de Quake
Miembro del Staff
Registrado
12 Dic 2021
Mensajes
581
Excelente tutorial, colega! Si esto, así tan bien explicado, hubiera estado a mi alcance en mis épocas de traductor explorador tendría más juegos traducidos, eso es seguro. Aunque también es seguro que serían muy chapuceros XDDDDDD (y)
 

Voodoo

☠️ Líder Pirata ☠️
Miembro del Staff
Registrado
5 Jun 2020
Mensajes
924
Suuuuper interesante!!
 
Arriba