Modificar el texto de un botón

Tamaño de letra:

Modificar los recursos, cambiar el idioma

En un principio en este tutorial iba a hablar sobre los editores de recursos, pero decidí incluir dicho artículo en herramientas para la Ingeniería Inversa. De este modo pienso que está todo más organizado y aquí nos centraremos en un primer momento en la edición de recursos. Antes de continuar es necesario que conozcas a qué llamamos recursos, como hemos estado viendo en los tutoriales anteriores y es necesario que conozcas qué programas puedes utilizar para la edición de los mismos. Este tutorial es muy básico pero considero que necesario. Video-tutorial incluido.

Para la edición de recursos tienes muy buenas herramientas tanto gratuitas como de pago. Yo recomiendo las que menciono en este tutorial: Editores de recursos para Windows por karmany.

¿Para qué editar los recursos?

Como he dicho muchas veces, y tengo que repetir, antes de modificar cualquier aplicación hay que leerse las condiciones de uso de las mismas y ver si se permite tal acción. Hay gente que modifica los recursos de una aplicación según su propio criterio, por ejemplo se me ocurren los siguientes:

  • Si el botón Abrir no te gusta que esté arriba lo pones abajo
  • Si el fondo tiene un color negro lo puedes cambiar a blanco
  • Si el tamaño de la ventana de un programa crees que es demasiado pequeña, la haces más grande
  • Te aparece una ventana molesta que es publicidad con contenido no adecuado... la eliminas
  • Existe un enlace que te envía a una página con malware. Puedes borrar y/o modificar el link.
  • Puedes añadir información, por ejemplo en forma de texto, si crees que el programa lo necesita.
  • Añades en la interfaz el gráfico que más te guste
  • Al ejecutar un programa en tu nuevo S.O. actualizado, tu programa ya no se ve como antes y tienes que modificar la posición de algunos recursos
  • Hiciste hace varios años un programa y has perdido el código fuente y necesitas cambiar la apariencia
  • Y posiblemente la que más veces he visto nombrada es: la traducción de un programa a tu idioma.

Realmente la traducción de un programa a tu propio idioma suele ser un trabajo complejo. Primero porque no todos los programas permiten la modificación de todos los recursos y si no vas haciendo copias de seguridad es posible que tengas que empezar de nuevo. Aún cuando has traducido la mayoría de texto o todo el texto que existe en forma de recursos verás que hay otro que te aparecerá y no se encuentra en la sección de recursos. Para modificar esto último tendrás que hacerlo desde un editor hexadecimal o hacer uso de ingeniería inversa, como veremos. Pero vamos a centrarnos en lo más básico haciendo un simple ejemplo.

Primer simple ejemplo de edición de recursos

Voy a hacer el primer ejemplo, esperando que sea lo suficientemente sencillo y claro. Lo primero que vamos a hacer es descargar el programa. Descarga el siguiente archivo:

Dentro de ese archivo ve a la carpeta asm02 y trabajaremos con el ejecutable asm02.exe, extráelo. Es un ejecutable para Windows que he realizado en ensamblador con RadASM y MASM32 y nos resolverá muchas dudas. Es una adaptación que he hecho de otro propio. He incorporado recursos, se permite su desensamblaje/depuración y puedes modificarlo a tu antojo. No ofrezco, por supuesto, ninguna garantía y lo que realices será bajo tu responsabilidad. Su interfaz, que por cierto la he hecho muy fea (pero eso es lo de menos, ¿no?), es la siguiente:

Interfaz programa asm02.exe

En el apartado de ingeniería inversa veremos la resolución de este sencillo programa, hoy vamos a estudiar su interfaz. ¿Qué recursos podemos ver? pues los siguientes:

  • Una imagen de color negra con unos ojos, nariz y boca. Esa imagen tiene dos textos en su parte superior. Debes entender que esas dos frases corresponden a la imagen, ¡no son textos independientes añadidos como recurso!.
  • La ventana principal que engloba todos los controles que ves.
  • Tres botones, una caja de texto (donde he escrito www.karmany.net).
  • Y el icono de la aplicación.

Así a simple vista, no se ve nada más. Lo primero que vamos a hacer, muy sencillo, es cambiar el texto Probar por Aceptar. Voy a usar Resource Hacker en su última versión en inglés (pero pondré su traducción), así que, echa un vistazo a los editores de recursos en el enlace del principio de este artículo y descárgatelo. Ejecutas Resource Hacker, abres en él el programa asm02.exe y te dirijes a Dialog -> 101 -> 1033. Allí verás la palabra Probar y la sustituyes por Aceptar. Te quedará así:

Programa asm02.exe en Resource Hacker

Como puedes observar, según la numeración de la imagen:

  1. Me he dirigido a Dialog -> 101 -> 1033
  2. He modificado Probar por Aceptar
  3. Pulso el botón Compile Script (En español saldrá como Compilar Script).
  4. Selecciono menú: File -> Save As (En español es: menú Archivo -> Guardar como). Y lo guardas con el nombre que quieras SIN OLVIDARTE de la extensión exe.

Ya está todo, si ahora ejecutas el programa que has guardado podrás comprobar los resultados. Voy a hacer un simple video para que veas como se hace en tiempo real:

A partir de este momento y tomando como ejemplo lo que acabamos de hacer, realiza tus propias modificaciones de recursos y comprueba resultados. Como digo siempre, haz copias de seguridad para no perder tu trabajo.

Última actualización el Jueves, 01 Diciembre 2011

Comentarios   

 
knight
0 # knight 17-04-2013 00:11
brother muy bien explicado pero como ago cuando el .exe esta comprimido o bloqueado no puedo ir a la carperta dialogo y en el odi me pierdo ayudame pls mi correo es gracias x tu ayuda
Responder | Responder con una citación | Citar
 
 
Luis
0 # Luis 17-04-2013 07:01
Tienes que descomprimirlo primero. Lo que se conoce como desempacarlo. Examina con un detector de packer-compilad or con que esta hecho. Por ejemplo busca RDG Packer Detector.
Responder | Responder con una citación | Citar
 
 
darek
0 # darek 04-02-2013 02:42
como puedo saver con que esta compilado, empacado, protegido. como saco esa informacion?
Responder | Responder con una citación | Citar
 
 
karmany
0 # karmany 04-02-2013 16:59
Los usuarios más experimentados solamente con abrirlo con el depurador, ya pueden intuir con qué ha sido protegido o empacado.

Si no, existen herramientas que te lo muestran como RDG Packer Detector, PeiD, Protection ID y muchos más. Yo suelo utilizar el primero.
Responder | Responder con una citación | Citar
 
 
darek
0 # darek 26-01-2013 03:17
bueno aqui les traido una aplicacion original, y otra modificada, es una version anterior, la version que esta funcionando en la actualidad tambien la traigo, con su original y su modificacion.

Versio antigua:
original: http://www.mediafire.com/download.php?udf2qw3v7zzago7
modiiicada: http://www.mediafire.com/download.php?3a050i5849l581p

Versio Actual:
original: http://www.mediafire.com/download.php?2o5owar6dnkdi63
modiiicada: http://www.mediafire.com/download.php?gebohart20kdp6r


lo que quiero es que me digan como puedo hacer con la horiginal para poderla modificar, y dejarla como la modificada. o como cambiar la modificada. sobretodo quiero quitar el inicio que tiene la ultima version de la modificada, ya que es molesta.
Responder | Responder con una citación | Citar
 
 
Javier
0 # Javier 26-01-2013 10:25
Para conocer qué ha sido modificado en un archivo puedes utilizar comparadores de archivo que te orientarán al menos en el código, hay muchos. Aunque de pago, recuerdo que UltraEdit tiene un excelente comparador.
De todos modos deberías analizar con qué ha sido compilado, empacado, protegido. Debes estudiarlo y analizar original y modificado.
Responder | Responder con una citación | Citar
 
 
darek
0 # darek 21-01-2013 01:39
cuando vas a segir con el curso, me esta interesando mucho. de momento ya he hecho pequeñas modificaciones a un programa que se llama PBDO-BOT. le quite que abriera la pagina del sitio sullo cada vez que entra. pero me gustaria que no tubiera que entrar en su base de datos, sino en la mia.
Responder | Responder con una citación | Citar
 
 
karmany
0 # karmany 21-01-2013 16:14
Hola darek... a ver si en un par de semanas continúo con un nuevo tutorial. He dado prioridad a otros temas y tengo la ingeniería inversa un poco olvidada.
Un saludo
Responder | Responder con una citación | Citar
 
 
yihadl
0 # yihadl 20-11-2012 17:52
archivo no standar. probablemnete se uso un compresor exe.

solo funciona con el ejemplo.
Responder | Responder con una citación | Citar
 
 
Editor
0 # Editor 20-11-2012 19:12
Sí, solo funciona con el ejemplo indicado. El otro es un exe empacado con UPX.
Responder | Responder con una citación | Citar
 
 
Lejzer007
0 # Lejzer007 15-08-2012 01:05
Gracias por la respuesta, descargué el programa lo instalé, me salen otros detalles del ejecutable, pero no encuentro ni los textos, ni botones, me harías el favor de verlo portu cuenta, y descubrir ¿a qué se debe?
Responder | Responder con una citación | Citar
 
 
karmany
0 # karmany 15-08-2012 14:25
Tal vez porque no estás utilizando la versión Profesional de VB Reformer. La versión gratuita no te permite modificar las propiedades.
Si no lo consigues con la versión Pro te ayudaré.
Responder | Responder con una citación | Citar
 
 
Lejzer007
+1 # Lejzer007 13-08-2012 22:09
Hola Karmany, estoy agradecido por la información que difundes en tu Web, haces un gran trabajo, te escribo porque tenía una dificultad con este pequeño programa: www.4shared.com/file/3xQqSwWr/Editor.html
no consigo ver los textos a editar, con ningún programa, no sé a que se deba, espero tu respuesta
Responder | Responder con una citación | Citar
 
 
Usuario
0 # Usuario 13-08-2012 22:43
Porque está compilado y programado con Visual Basic 6.
Para modificarlo te recomiendo uno de los mejores programas para la edición de recursos en Visual Basic 6, se llama VB Reformer y su web es:
www.decompiler-vb.net/
Responder | Responder con una citación | Citar
 

Escribir un comentario

Antes de publicar un comentario, usted debe aceptar nuestras condiciones de uso: Condiciones de uso