EJEMPLOS
En este apartado iré añadiendo algunos ejemplos de cómo hago yo para modificar algunos recursos..
Ejemplo01:Ya que nos encontramos en el subforo de Ingeniería Inversa, voy a aprovechar este tutorial para modificar un programa que tiene alguna curiosidad. (Nota: El programa del que voy a hablar podría ser útil hace años pero actualmente no recomiendo su uso, al final del ejemplo2 explico alternativas y pongo el porqué. Sólo descargarlo para seguir este tutorial.)
El programa se llama: Embryo Patcher versión 1.2:
Imagen21 Este programa permite comparar dos archivos, original y parcheado y tras analizarlos genera un ejecutable para convertir el archivo original. En definitiva un programa para generar parches.
Descargar el archivo Embryo Patcher 1.2 del archivo zip. El enlace está en el primer mensaje de este hilo.Si se ejecuta este programa, observamos primeramente que ni el botón de About (acerca de), funciona. Si intentamos abrir el Embryo Patcher con nuestro Resource Hacker veremos que no nos deja.. ¡empezamos bien! – (resolveremos todo esto)
Analizando
Lo primero que siempre suelo hacer es ver de dónde viene el programa, su autor etc… ¡Nada! su página web ha desaparecido.
Analicé el programa para averiguar con qué ha sido compilado y todos los programas que utilicé (RDG Packer Detector, File Inspector, Peid…) me indicaron que el compresor era:
Imagen22 Desempacar UPX es muy sencillo, es lo más básico para cualquier novato en ingeniería inversa. Se puede desempacar de muchas formas:
- Usando el mismo UPX:
http://upx.sourceforge.net/- Desempacándolo manualmente para Re-Newbies:
Desempacar UPX para novatos por Shaddy - Usar herramientas como vamos a hacer aquí. En este caso vamos a usar un excelente programa para editar recursos que tiene un plugin para desempacar perfectamente UPX, el programa es:
Resource Tuner: Es un programa para editar recursos como los que he comentado en este tutorial. No es gratuito y la versión de prueba es para 30 días. Si alguien decide comprarlo tal vez estaría más interesado en PE Explorer que del mismo autor y engloba a Resource Tuner. La ventaja que tiene como ya he comentado es que tiene un plugin para UPX.
Página Web:
http://www.restuner.com/Lo único que hice con este programa es abrir el Embryo Patcher y volverlo a guardar. Ya desapareció UPX. ¡Ahora ya se puede empezar a editar los recursos!.
Lo primero que quise hacer es intentar averiguar por qué no funciona el botón “Acerca de”. Así que abrí el programa con el conocido Resource Hacker y me fui a dialog y a la ventana Acerca de. (AB_DIALOG). Algo extraño hay ahí. Hay cuatro LINKS y sólo se ven los recuadros, no hay nada de texto. Tal vez el problema sea este. Voy a intentar solucionarlo.
Así que se me ocurrió modificar en el texto esos “LINK” por STATIC a ver qué ocurría.
Por ej. en:
CONTROL "devon@wizard.ae.krakow.pl", 3400, "LINK", 0x50000100, 78, 61, 100, 8Sustituí el “LINK” y quedó así:
CONTROL "devon@wizard.ae.krakow.pl", 3400, STATIC, 0x50000100, 78, 61, 100, 8Pulsé en Compilar Script y se modificó a:
CONTROL "devon@wizard.ae.krakow.pl", 3400, STATIC, SS_LEFT | SS_NOTIFY | WS_CHILD | WS_VISIBLE, 78, 61, 100, 8¡Y apareció el texto! Sólo quedaba saber si funcionaría el link, si se abriría “Acerca de” y si el cursor sería la mano..
Cambié los 4 LINKS compilé y guardé el ejecutable. Lo abrí y perfecto:
Imagen23 A partir de aquí con el Resource Hacker no hay más misterio. Traduje el programa, que no tiene mucho que traducir. Después para traducir los Tool Tips y demás diálogos que no aparecen en el Resource Hacker, utilicé el UltraEdit 32. Me quedó así:
Imagen24 En este momento parece que ya hemos acabado ¿no?. Pues no, ya que estamos “arreglando” el programa vamos a dejarlo bien acabado…
Sólo nos queda darle la apariencia de Windows XP si nos deja y ya está.
Voy a utilizar un programa que ya he explicado más arriba: XN Resource Editor.
Como comenté, este programa tiene una opción muy interesante que es la de añadir el recurso del archivo MANIFEST. Eso es lo que voy a hacer añadir este recurso.
Así que abro el XN Resource Editor -> File -> Open y selecciono el Embryo Patcher que ya tenemos traducido.
Voy a Resource -> Add Resource y selecciono de la lista el XP Theme Manifest. Guardo el archivo y ya tenemos todo arreglado:
Imagen25 En realidad tienen que salir los botones como si estuvieran sobre otro botón. Para arreglar esto, desde el resource hacker hay que señalar el botón, editar control y quitar porque estará en amarillo: WS_EX_STATICEDGE.
Ahora sí que podemos decir que hemos "arreglado" el programa y dado apariencia XP.
Dentro de poco pondré el segundo ejemplo que también tiene que ver con este programa.
Un saludo.
PD. ¿Habéis probado a utilizar el Resource Hacker con un archivo MANIFEST? :-).