elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Modificar cadenas en programa compilado en Delphi
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Modificar cadenas en programa compilado en Delphi  (Leído 11,293 veces)
registrymaster

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Modificar cadenas en programa compilado en Delphi
« en: 23 Septiembre 2010, 10:22 am »

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 Desconectado

Mensajes: 239

Cls


Ver Perfil
Re: Modificar cadenas en programa compilado en Delphi
« Respuesta #1 en: 23 Septiembre 2010, 14:23 pm »

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.html

en 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
Moderador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Modificar cadenas en programa compilado en Delphi
« Respuesta #2 en: 23 Septiembre 2010, 16:51 pm »

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 Desconectado

Mensajes: 6


Ver Perfil
Re: Modificar cadenas en programa compilado en Delphi
« Respuesta #3 en: 23 Septiembre 2010, 22:29 pm »

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
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Modificar cadenas en programa compilado en Delphi
« Respuesta #4 en: 23 Septiembre 2010, 23:11 pm »

Si quieres aprender a manejar Olly, fijate aqui: http://ricardonarvaja.info/WEB/INTRODUCCION%20AL%20CRACKING%20CON%20OLLYDBG%20DESDE%20CERO/

La mejor forma de empezar....  :P

Saludos!
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 Desconectado

Mensajes: 6


Ver Perfil
Re: Modificar cadenas en programa compilado en Delphi
« Respuesta #5 en: 24 Septiembre 2010, 14:58 pm »

Estoy en ello. Es muy interesante el supertutorial. Pero no veo nada para hacer eso. ¿Me podéis guiar un poco?  :P
En línea

registrymaster

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Modificar cadenas en programa compilado en Delphi
« Respuesta #6 en: 28 Septiembre 2010, 09:44 am »

Por favor ¿me podéis poner un ejemplo? :-(
En línea

apuromafo CLS


Desconectado Desconectado

Mensajes: 1.441



Ver Perfil WWW
Re: Modificar cadenas en programa compilado en Delphi
« Respuesta #7 en: 5 Octubre 2010, 00:50 am »

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 Desconectado

Mensajes: 6


Ver Perfil
Re: Modificar cadenas en programa compilado en Delphi
« Respuesta #8 en: 5 Octubre 2010, 21:00 pm »

Gracias por la respuesta Apuromafo. A qué tutorial te refieres para poder estudiarlo?
En línea

karmany
Moderador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Modificar cadenas en programa compilado en Delphi
« Respuesta #9 en: 7 Octubre 2010, 22:25 pm »

Apuromafo se refiere a este tutorial que me he encontrado de casualidad  ;):
Descarga

PD. 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

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda sobre modificar strings de VB compilado
Programación Visual Basic
katanaia 3 2,481 Último mensaje 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 32,677 Último mensaje 28 Mayo 2010, 22:42 pm
por Akai
Modificar programa Delphi
Ingeniería Inversa
xAnubiSx 5 5,720 Último mensaje 21 Agosto 2010, 00:06 am
por xAnubiSx
Un programa para cadenas?
Ingeniería Inversa
x64core 5 2,639 Último mensaje 3 Septiembre 2012, 07:17 am
por x64core
modificar lectura de cadenas(Solucionado)
Programación C/C++
Beginner Web 7 1,844 Último mensaje 12 Diciembre 2018, 06:25 am
por Beginner Web
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines