elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 02:54  


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)

+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: Shaddy, karmany)
| | |-+  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 3,320 veces)
registrymaster

Desconectado Desconectado

Mensajes: 6


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

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 »

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



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

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

- "Tu sitio para aprender, enseñar y compartir"
registrymaster

Desconectado Desconectado

Mensajes: 6


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

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


Desconectado Desconectado

Mensajes: 1.222


Diviérte crackeando, que para eso estamos!


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

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 »

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 »

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


Desconectado Desconectado

Mensajes: 640


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

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

Quidquid latine dictum sit altum viditur



saludos .en un tiempo estare offtopic..(no es broma de dia de inocentes).// Retired de ing inversa
saludos Apuromafo
registrymaster

Desconectado Desconectado

Mensajes: 6


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

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

Mensajes: 1.254



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

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 por karmany » En línea

- "Tu sitio para aprender, enseñar y compartir"
LSL

Desconectado Desconectado

Mensajes: 239

Cls


Ver Perfil
Re: Modificar cadenas en programa compilado en Delphi
« Respuesta #10 en: 8 Octubre 2010, 00:11 »

vaya lujo de detalles, me lo pillo.
aunque yo pocos programas voy a traducir, pero seguro que me servirá para hacer injertos "inline patching". ;)

gracias karmany.
En línea

Saludos.

LSL.
registrymaster

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Modificar cadenas en programa compilado en Delphi
« Respuesta #11 en: 13 Octubre 2010, 19:28 »

Muchas gracias por tu tiempo y dedicación Karmany   ;-) ;-) ;-) ;-)

Ahora que ya me he leido un poco el manual del OllyDbg y sé por lo menos donde están las opciones más comunes, me pongo con ello ya mismo.

Te lo agradezco de verdad

Un saludo ;)
En línea
botticheli

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Modificar cadenas en programa compilado en Delphi
« Respuesta #12 en: 12 Septiembre 2011, 22:08 »

Muy buenas,

Karmany, tengo una pregunta sobre el tutorial.
Está muy bien hecho, por cierto, aclara muchas dudas... pero en mi caso no existe ningún "push dirección" (ej: push 640f12)  cuando busco "All referenced text string".

Sale directamente esto: ASCII "File" sin comentarios ni nada.

Hay alguna manera de poder modificar el texto añadiendo una plabra con más caracteres?

(Si lo edito en binario lo puedo modificar, y funciona siempre que no añado más de 4 caracteres)
« Última modificación: 12 Septiembre 2011, 22:10 por botticheli » En línea
.:UND3R:.


Desconectado Desconectado

Mensajes: 1.960


Ingeniería inversa


Ver Perfil WWW
Re: Modificar cadenas en programa compilado en Delphi
« Respuesta #13 en: 12 Septiembre 2011, 22:32 »


Y ese programa también me gusta (Add PE bytes) jaja. Muy bueno....

¬¬
En línea

apuromafo


Desconectado Desconectado

Mensajes: 640


Ver Perfil
Re: Modificar cadenas en programa compilado en Delphi
« Respuesta #14 en: 13 Septiembre 2011, 01:48 »

¬¬

karmany es autor tambien de esa tool xD


es bueno aveces recordar post antiguos, pero igual es importante, que uno puede leer las string por wdasm,IDA y mas editores hexadecimales  :)

saludos Apuromafo
En línea

Quidquid latine dictum sit altum viditur



saludos .en un tiempo estare offtopic..(no es broma de dia de inocentes).// Retired de ing inversa
saludos Apuromafo
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como modificar un ejecutable compilado en Visual Basic?
Programación General
Hadbdiaz 3 7,110 Último mensaje 6 Diciembre 2005, 08:31
por Neobius
Duda sobre modificar strings de VB compilado
Programación Visual Basic
katanaia 3 745 Último mensaje 21 Octubre 2008, 01:13
por Spider-Net
una ayuda con delphi -cadenas
Programación General
Boot04 0 694 Último mensaje 22 Abril 2010, 06:21
por Boot04
No se ejecuta el programa compilado en Dev-c++
Programación C/C++
Aikanáro Anário 11 2,634 Último mensaje 28 Mayo 2010, 22:42
por Akai
Modificar programa Delphi
Ingeniería Inversa
xAnubiSx 5 2,155 Último mensaje 21 Agosto 2010, 00:06
por xAnubiSx
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines