Modificar el texto de un botón
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?
Antes de modificar cualquier aplicación hay que leerse las condiciones de uso de la misma y ver si nos se permiten editar los recursos.
¿Por qué o para qué modificar los recursos? Hay gente que los modifica 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 programado yo mismo en ensamblador con RadASM y MASM32 y nos resolverá muchas dudas. He incorporado recursos, se permite su desensamblaje/depuración y puedes modificarlo a tu antojo. Su interfaz, que por cierto la he hecho muy fea (pero eso es lo de menos, ¿no?), es la siguiente:
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í:
Como puedes observar, según la numeración de la imagen:
- Me he dirigido a Dialog -> 101 -> 1033
- He modificado Probar por Aceptar
- Pulso el botón Compile Script (En español saldrá como Compilar Script).
- 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.
PASA LO SIGUIENTE:
TENGO UN PROGRAMA QUE FUNCIONA CON UN DISPOSITIVO USB SIN ESTE EL PROGRAMA SIMPLEMENTE NO SE ABRE, TENGO LA SUERTE DE DISPONER DEL PROGRAMA PERO NO DEL USB QUE LO HACE FUNCIONAR, A ESTE PROGRAMA LO E ANALIZADO CON "RDG Packer Detector", EL CUAL ME DICE LO SIGUIENTE:
--ESO ES TODO Y QUE ESTA COMPILADO EN VISUAL C++ 6.0--
TAMBIEN LO E ANALIZADO CON OLLYDBG, Y E VISTO QUE TIENE UNA ZONA LLAMADA ".PROTECT" QUE SEGUN TENGO ENTENDIDO ESTE PROGRAMA ESTA EMPAQUETADO Y AQUI ES DONDE VIENE MI PREGUNTA:COMO PODRIA DESEMPACAR ESTE PROGRAMA? RICARDO N. DIJO: QUE SE PODRIA HACER BRUTE FORCE PERO QUE ERA TERRIBLE,ESPERO ME PODAIS DAR ALGUNAS PISTAS,THANKS.
DETECTED: HASP PE HardLock Dongle (Aladdin)
nose porque no salio esta parte XD Bueno aqui les dejo lo que me dice el "RDG Packer Detector" ESPERO ME PUEDAN ORIENTAR, GRACIAS.
De todos modos te recomiendo que busques en el buscador de Ricardo N. sobre hasp. Aquí tienes el buscador: ricardonarvaja.info/WEB/buscador.php
CALIFORNIA.PPK
ESPERO SE HAGA PRESENTE KARMANY Y ME AYUDE CON ESTE TEMA YA QUE LEI UN TETE SUYO Y EL LE PREGUNTO A RICARDO N. SOBRE EL PROGRAMA EMPAQUETADO AL CUAL EL RESPONDIO ESTO DEL BRUTE FORCE. GRACIAS.
Recuerdo que hace tiempo algunos usuarios me preguntaron acerca de desempacar un programa sin tener el dongle, pero es difícil y más pensando que todo evoluciona muy rápido. Hay que conocer qué hace exactamente el código de la dongle y luego emularlo.
Sobre este tema es también difícil que alguien te pueda orientar, tal vez algún artículo como estos de gente que ha estudiado determinadas dongles:
tuts4you.com/download.php?view.2252
o este hilo:
www.reteam.org/board/showthread.php?t=3764
Y gracias a ti por comentar.
Un saludo y suerte!!!
CUANDO ESA VEZ EN TU TUTO LE PREGUNTASTE A RICARDO N. SOBRE ESTE TEMA EL TE RESPONDIO SOBRE UN "BRUTE FORCE" ME PODRIAS HACER EL FAVOR DE PREGUNTARLE CON QUE PROGRAMA SE PUEDE HACER ESTO? O SI EXISTE ALGUN MANUAL NO IMPORTA ASI ESTE EN CHINO QUE ME LO PUEDAN COMPARTIR :) GRACIAS POR LA AYUDA.
ATTE: CALIFORNIA.PPK
Un saludo.
TORO MONITOR,HL_DUMP ,HL_SOLVER,MY LOCK,HL_EMUL(AQ UI EL PROBLEMA)...
Sobre tu problema echa un vistazo a este hilo de este foro, parece que lo explican bastante bien: www.reteam.org/board/showthread.php?t=4662
Has adelantado bastante!!
Tendrás que seguir analizando el programa. Aunque la imagen sea como un CAPTCHA, en el código tiene que existir un modo de comprobación, o una comparación o similar. Algunos programas son complejos de analizar, el otro día estuve con un crackme con Visual C++ y perdí muchas horas hasta entenderlo un poco.
Si no, existen herramientas que te lo muestran como RDG Packer Detector, PeiD, Protection ID y muchos más. Yo suelo utilizar el primero.
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.
De todos modos deberías analizar con qué ha sido compilado, empacado, protegido. Debes estudiarlo y analizar original y modificado.
Un saludo
solo funciona con el ejemplo.
Si no lo consigues con la versión Pro te ayudaré.
no consigo ver los textos a editar, con ningún programa, no sé a que se deba, espero tu respuesta
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/