Autor
|
Tema: Modificar cadenas en programa compilado en Delphi (Leído 12,029 veces)
|
registrymaster
Desconectado
Mensajes: 6
|
Hola a todos los foreros Lo primero presentarme, pues soy nuevo en el foro. Veréis tengo un problema al traducir un programa compilado en Delphi. Ya he traducido todas las pantallas, pero me falta por traducir los mensajes de error o advertencia que muestra el programa en su ejecución. Por ejemplo intento traducir el siguiente texto: "MAME XML file not set or found!" por "¡No se encontró o no se estableció el archivo XML de MAME!" La pregunta es: ¿Como puedo añadir mas bytes para traducir todos esos mensajes que no te muestran los editores de recursos, tipo Resource Hacker o Restorator 2007? Aquí pantallazo: Muchas gracias
|
|
|
En línea
|
|
|
|
LSL
Desconectado
Mensajes: 239
Cls
|
puedes buscar espacio vacio o añadirle mas bytes o sección con http://foro.elhacker.net/programacion_general/add_pe_bytes_v011-t272401.0.htmlen el nuevo espacio, escribes el texto de los mensajes, y con el Ollydbg en el programa desensamblado cuando utiliza la llamada a la direccion offset del mensaje original, cambias esa dirección por la del offset del mensaje traducido. Quizás tambien tengas que cambiar antes de la llamada, el tamaño hexadecimal de la cadena a leer, ...
|
|
|
En línea
|
Saludos.
LSL.
|
|
|
karmany
|
Totalmente de acuerdo con LSL, yo haría lo mismo. Yo cambiaría el puntero con OllyDBG de ese mensaje y lo pondría en otro sitio que cupiera, así además tampoco modificas las restantes cadenas.
Y ese programa también me gusta (Add PE bytes) jaja. Muy bueno....
|
|
|
En línea
|
|
|
|
registrymaster
Desconectado
Mensajes: 6
|
Gracias por vuestras respuestas.
Hasta ahora lo que había hecho era traducir sin tener que añadir más bytes. Esto es nuevo para mí, y me gustaría saber como hacerlo con el Ollydbg. Lo he instalado y bueno, ya he localizado la cadena del ejemplo anterior. ¿Cómo se cambia la dirección del offset? y ¿donde hay que añadir más bytes?
Soy novato en esto, pero siempre que me he encontrado con un archivo compilado en Delphi he tenido el mismo problema.
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
registrymaster
Desconectado
Mensajes: 6
|
Estoy en ello. Es muy interesante el supertutorial. Pero no veo nada para hacer eso. ¿Me podéis guiar un poco?
|
|
|
En línea
|
|
|
|
registrymaster
Desconectado
Mensajes: 6
|
Por favor ¿me podéis poner un ejemplo?
|
|
|
En línea
|
|
|
|
apuromafo CLS
|
modificar cadena
veamos 401000 hola
si la cadena se muestra gracias a mov eax,401000 puedo colocar 40102 y dira: "la"
ahora para modificar una cadena debes diferenciar 2 cosas, es Unicode o es Ascii? esta comprimido o no?
hay muchas variables que se van aprendiendo en el camino, lo que te comparten es la teoria y luego la practica llega sola, ahora vamos denuevo
que pasa si coloco mov eax,500000
pues envio a otra parte, por ende si tu cadenas es mas larga que la original , pues aprovechas eso,
te apuesto que puedes hacer el primer tutorial de PE , creado por izhelion, donde muestra un mensaje, intenta cambiar el valor del messagebox y de ahi aprenderas como hacerlo..
ahora el como y donde encontrar justo el momento indicado es porque debes aprender a leer..debes leer todo lo escrito y luego opinar .muchos bajan toda la informacion y ni la leen, y despues dicen , pero si ahi estaba.
animo saludos Apuromafo
|
|
|
En línea
|
Apuromafo
|
|
|
registrymaster
Desconectado
Mensajes: 6
|
Gracias por la respuesta Apuromafo. A qué tutorial te refieres para poder estudiarlo?
|
|
|
En línea
|
|
|
|
karmany
|
Apuromafo se refiere a este tutorial que me he encontrado de casualidad : DescargaPD. Es muy trabajoso modificar el lenguaje de un programa, lo digo por experiencia. Y si dentro de unos días el programa se modifica, ¿Volverías a modificarlo? Personalmente pienso que el autor tendría que poner algún archivo de lenguaje porque si no dentro de 3 versiones más puedes estar un poco harto de traducir... En el tutorial donde digo: Le pongo 1000 bytes por section alignment... quiero decir, le pongo 1000 bytes por ser múltiplo de File alignment Espero te sirva, un saludo. karmany
|
|
« Última modificación: 7 Octubre 2010, 22:29 pm por karmany »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Duda sobre modificar strings de VB compilado
Programación Visual Basic
|
katanaia
|
3
|
2,643
|
21 Octubre 2008, 01:13 am
por Spider-Net
|
|
|
No se ejecuta el programa compilado en Dev-c++
« 1 2 »
Programación C/C++
|
Aikanáro Anário
|
11
|
33,408
|
28 Mayo 2010, 22:42 pm
por Akai
|
|
|
Modificar programa Delphi
Ingeniería Inversa
|
xAnubiSx
|
5
|
5,982
|
21 Agosto 2010, 00:06 am
por xAnubiSx
|
|
|
Un programa para cadenas?
Ingeniería Inversa
|
x64core
|
5
|
2,944
|
3 Septiembre 2012, 07:17 am
por x64core
|
|
|
modificar lectura de cadenas(Solucionado)
Programación C/C++
|
Beginner Web
|
7
|
2,245
|
12 Diciembre 2018, 06:25 am
por Beginner Web
|
|