You are on page 1of 18

Cmo modificar programas - I

Introduccin
Has utilizado alguna vez un programa y lo has querido traducir a tu propio idioma? Has querido modificar alguna vez la apariencia de una aplicacin?Quieres modificar o cambiar el ttulo de un software, activar o no sus botones, la apariencia o eliminar una ventana que molesta?Tienes un programa antiguo que ya no tiene ni pgina Web y has descubierto un bug que necesitas solucionar?Necesitas ms opciones en una aplicacin?Quieres saber cmo se puede modificar un programa?

Cmo empez todo


Hace unos aos, fue en el foro de uptodown que a da de hoy ya ni existe, hice un simple tutorial de cmo modificar el idioma a un programa. Para ello (entonces yo tampoco tena mucha experiencia) hice una pequea introduccin del uso del programa Resource Hacker, lo llam "Tutorial Resource Hacker". Todo esto comenz porque recuerdo que vi un software escrito en alemn y una persona lo tradujo al castellano y me pregunt... cmo es posible hacer esto?. Este es el principio de esta aventura. Desde que escrib ese simple tutorial empez a llenarse mi bandeja de entrada de email pidiendo consejos, algunos eran demasiado complejos para mi entonces. Ese tutorial lo modifiqu y un tiempo despus lo colg en el foro de elhacker. A da de hoy (21 de enero de 2011) tiene casi 45000 visitas y como ha tenido cierto xito pues lo voy continuando intentando no complicar mucho los ejemplos por peticin de los usuarios. El enlace de ese tutorial lo podis ver aqu: Tutorial para modificar programas Para poder seguir ese tutorial, debes descargar todos los ejemplos: Archivos del tutorial para editar recursos

De qu hablaremos aqu?
Yo creo que ahora tengo la experiencia necesaria para empezar desde cero y de forma bien ordenada ese mismo tutorial con nuevos consejos y empezando desde un nivel nulo. Me gustara que fuera accesible a todo el mundo, tenga conocimientos o no. No tengo claro si continuar el tutorial de elhacker puesto que no tengo tiempo para actualizar en todos los sitios donde estoy, as que, una cosa s prometo: actualizar esta pgina en cuanto me sea posible. Los tutoriales sobre modificar programas los voy a nombrar con nmeros romanos (I, II, III...), cada tutorial tendr el enlace al anterior y siguiente al final del mismo. Espero que disfrutis paseando por este nuevo camino y espero que el camino sea largo... Intentar comenzar desde lo ms bsico (muy bsico, no me critiquis por esto, con cada tutorial avanzaremos en conceptos) e intentar de igual modo extenderme un poquito ms en las explicaciones. Por supuesto trataremos temas de distinta complejidad pero como digo siempre, lo ms importante son tus sugerencias. Nos ayudarn enormemente a saber qu es lo que os interesa, dnde nos equivocamos e intentar resolver vuestras dudas.

Inicio del camino


Pueden entrar en la sala, tomen asiento, relajense y sobre todo: disfruten

Cmo modificar programas II


Cmo modificar un programa desde cero II
Estos tutoriales van dirigidos para saber (principalmente en un entorno Windows) modificar un programa ya compilado: modificar un ejecutable, un software, una dll, un ocx, un control ActiveX. Aprenders a traducir un programa a tu propia lengua. Sabrs modificar los recursos de un software: las imgenes, los mens, los botones, los ttulos, los labels y un largo etc... Conocers (desde toda legalidad) a qu se llama "crackear un programa" o "crackear un software", cmo se crean los cracks y qu son. Veremos qu herramientas se utilizan actualmente y cmo usarlas, cmo usar un desensamblador y un depurador, cmo injertar cdigo ensamblador en cualquier programa, cmo modificar una funcin o crearla y cualquier duda o pregunta que sugieras.

Acuerdo. Marco de la legalidad


Nunca he hecho ni subido ningn crack ilegal a la red ni tengo pensado hacerlo, as que no me preguntes por esto porque vers que no te contestar. Voy a trabajar siempre siguiendo el marco de la legalidad. Todas las descargas estn libre de virus, spyware, malware y/o cualquier otro tipo de amenazas. Este tema que voy a tratar suele ser considerado avanzado y algo complejo, todos los ejercicios que te voy a proponer los realizars bajo tu propia responsabilidad, ten cuidado en todo lo que hagas porque puedes incluso daar tu Sistema Operativo. No hagas nada ilegal y respeta la propiedad intelectual. Si no ests de acuerdo con algo de lo que acabo de comentar te ruego que no sigas leyendo. Hecho los preparativos vamos a comenzar este (espero) largo camino.

Modificar un programa ya compilado


Qu es un programa ya compilado? Sobre este tema ya habl en un tutorial que recomiendo que leas primero porque este artculo voy a intentar hacerlo lo ms sencillo y entendible posible a cualquier persona sin conocimientos: Enlace tutorial lenguaje ensamblador por karmany

Imagina simplemente que escribes en Visual Basic (VB) lo siguiente: *Nota: Visual Basic es tan sencillo de entender que lo considero oportuno para comprender lo que intento explicar. No pretendo que lo instales, simplemente intenta entender el contenido. Esta primera parte es muy elemental y he obviado muchos detalles para que gente sin ningn conocimiento pueda entenderlo. En tutoriales posteriores iremos explicando conceptos de forma ms precisa y adecuada. a = 1 a = a + 1

Eso que has escrito es cdigo fuente hecho para Visual Basic que es un lenguaje de programacin (vamos a olvidarnos en este momento de compilador y enlazador). Si t quieres crear un programa para Windows que ejecute esas dos lneas anteriores, simplemente tienes una opcin desde un men del mismo VB para generar el ejecutable. Mira esta opcin:

Nada ms que pulses la opcin "Generar ejemplo_karmany.exe", Visual Basic a partir del cdigo fuente te crear un archivo con extensin .exe. A grandes rasgos, te quedarn dos archivos:

1.- Un archivo de texto que contiene las dos lneas anteriores y que denominamos cdigo fuente 2.- Un archivo con extensin .exe que es un ejecutable para Windows.

Si por cualquier motivo quieres modificar tu programa, lo ms lgico y que hace todo el mundo es modificar el cdigo fuente. Imagina que quieres modificar la segunda lnea: a = a + 1 por a = a + 2, pues simplemente lo modificas en el archivo de texto para que quede lo siguiente: a = 1 a = a + 2

Ahora simplemente vuelves a generar el ejecutable desde Visual Basic y se vuelve a crear otro ejecutable (.exe) para Windows. Como ves es muy sencillo pero y si no dispones del cdigo fuente? Cmo puedes modificar lo que acabo de comentar. Cmo se puede modificar ese archivo ejecutable (.exe)? Tambin podemos extrapolar a otros rasgos, por ejemplo, imagina que quieres modificar una imagen o un color o una funcin. De esto va a tratar estos tutoriales, de modificar programas, libreras, controles ActiveX ya compilados que no disponen de cdigo fuente y solamente tenemos el exe, dll, ocx etc...

Diferencias entre ejecutables

Como sabes, existen muchsimos lenguajes y entornos de programacin y los ejecutables finales pueden ser muy distintos unos de otros. Iremos conociendo los ms utilizados y en distintos niveles de dificultad. La idea es que cuando tengas en tus manos por ejemplo una librera dll, sepas si est comprimida, empacada, protegida, sepas con qu lenguaje de programacin ha sido compilada y qu debes hacer para modificarla. Ya hemos dado el primer paso, vamos a empezar por lo que considero ms bsico: saber qu son los recursos de un programa, dnde estn y cmo se pueden modificar...

Cmo modificar programas III


Qu son los recursos de un programa?
Es importante que conozcas a qu llamamos recursos. Los recursos son elementos de la interfaz que proporcionan informacin al usuario. Cuando un programador realiza un software, tiene que (si quiere) disear la interfaz, los mens, las imgenes, el texto, el ttulo de su programa entre otros y cuando compila su programa, esta interfaz, men, imgenes, texto, ttulo se guardan tambin dentro del ejecutable. Hay muchos tipos de recursos como: cursores, iconos, bitmaps, imgenes, audio, mens, dilogos, mensajes, cadenas de texto, ventanas, controles etc.y esto es lo que vamos a intentar modificar en un principio. Vamos a ver una simple imagen de la interfaz de un programa cualquiera:

Qu recursos hay ah? Pues fjate: men, botones, la imagen del cuadrado amarilla... todo lo que ves. Como Add PE bytes lo he programado yo, pues simplemente te voy a mostrar una imagen de cmo program los recursos y vers todos los que us:

Por ejemplo, DialogoPrueba es la ventana general de Add PE bytes, la primera imagen que he puesto. Cuando se programan los recursos, muchos programas te permiten hacerlo de una forma visual muy sencilla. Mira:

Por ejemplo, si quieres aadir un botn, slo tienes que pulsar a la derecha en "Button" y seguidamente dibujas el botn en el dilogo.

Dnde se guardan los recursos?


Como dije antes, cuando un programador compila su software y usa recursos, stos se guardan dentro del archivo ejecutable. Como sabes existen cientos de compiladores y cada uno trabaja de un modo diferente: no es lo mismo un programa hecho en Visual Basic 6 que uno hecho en Delphi 6 ya que cada uno guarda determinados recursos en sitios diferentes. Un programa ejecutable para Windows tiene un formato denominado PE (Portable Executable) y se compone de secciones. Hay muchos programas que te permiten ver las secciones, por ejemplo, voy a usar uno propio llamado File Location Calculator v0.3.2 y voy a abrir con l un programa cualquiera para ver sus secciones:

Observa la seccin .rsrc que he pintado en azul. Ah se suelen guardar los recursos de un programa generalmente! Y te dirs... por qu se que estn ah? Primero por la experiencia pero para asegurarme voy a mirar en la seccin que ves como Header (lo miro desde OllyDBG):

00400160 00C00200 DD 0002C000 ;Resource Table address = 2C000 00400164 48130000 DD 00001348 ;Resource Table size = 1348 (4936.)
Ya te habr quedado claro no?.

Otros formatos
Este simple ejemplo es un programa con formato PE, pero existen otros formatos diferentes (en Java, Flash etc...) que vers que no se corresponde con esto que acabamos de ver e incluso sin ir muy lejos, los recursos en un programa realizado con tecnologa NET tampoco es exactamente as y modificarlo nos puede llevar mucho ms trabajo. Sin embargo, vamos a ir poco a poco y empezar con lo ms bsico. Poco a poco nos iremos adentrndo en otros formatos.

Cmo modificar los recursos


Como te puedes imaginar existen muchos programas que te permiten ver, modificar, renombrar, borrar, extraer y aadir recursos. Todos estos programas se denominan editores de recursos. Como ya dije, podemos encontrarnos con muy diversos programas y lo que un editor de recursos puede modificar otro tal vez no. Antes de seguir con el tema de los editores de recursos es necesario que sepas que es posible que un programa sea modificado, comprimido, protegido (que veremos y explicaremos ms adelante) y por tanto los recursos no se podrn editar tan fcilmente. En el siguiente tutorial veremos los distintos editores de recursos.

Modificar el texto de un botn

Modificar los recursos, cambiar el idioma


En un principio en este tutorial iba a hablar sobre los editores de recursos, pero decid incluir dicho artculo en herramientas para la Ingeniera Inversa. De este modo pienso que est todo ms organizado y aqu nos centraremos en un primer momento en la edicin 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 edicin de los mismos. Este tutorial es muy bsico pero considero que necesario. Video-tutorial incluido. Para la edicin 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 aplicacin hay que leerse las condiciones de uso de las mismas y ver si se permite tal accin. Hay gente que modifica los recursos de una aplicacin segn su propio criterio, por ejemplo se me ocurren los siguientes:

Si el botn Abrir no te gusta que est arriba lo pones abajo Si el fondo tiene un color negro lo puedes cambiar a blanco Si el tamao de la ventana de un programa crees que es demasiado pequea, la haces ms grande Te aparece una ventana molesta que es publicidad con contenido no adecuado... la eliminas Existe un enlace que te enva a una pgina con malware. Puedes borrar y/o modificar el link. Puedes aadir informacin, por ejemplo en forma de texto, si crees que el programa lo necesita. Aades en la interfaz el grfico que ms 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 posicin de algunos recursos Hiciste hace varios aos un programa y has perdido el cdigo fuente y necesitas cambiar la apariencia Y posiblemente la que ms veces he visto nombrada es: la traduccin de un programa a tu idioma.

Realmente la traduccin de un programa a tu propio idioma suele ser un trabajo complejo. Primero porque no todos los programas permiten la modificacin de todos los recursos y si no vas haciendo copias de seguridad es posible que tengas que empezar de nuevo. An cuando has traducido la mayora de texto o todo el texto que existe en forma de recursos vers que hay otro que te aparecer y no se encuentra en la seccin de recursos. Para modificar esto ltimo tendrs que hacerlo desde un editor hexadecimal o hacer uso de ingeniera inversa, como veremos. Pero vamos a centrarnos en lo ms bsico haciendo un simple ejemplo.

Primer simple ejemplo de edicin 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: Descarga ejemplo Dentro de ese archivo ve a la carpeta asm02 y trabajaremos con el ejecutable asm02.exe, extrelo. Es un ejecutable para Windows que he realizado en ensamblador con RadASM y MASM32 y nos resolver muchas dudas. Es una adaptacin que he hecho de otro propio. He incorporado recursos, se permite su desensamblaje/depuracin y puedes modificarlo a tu

antojo. No ofrezco, por supuesto, ninguna garanta 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:

En el apartado de ingeniera inversa veremos la resolucin 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 aadidos 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 aplicacin.

As a simple vista, no se ve nada ms. Lo primero que vamos a hacer, muy sencillo, es cambiar el texto Probar por Aceptar. Voy a usar Resource Hacker en su ltima versin en ingls (pero pondr su traduccin), as que, echa un vistazo a los editores de recursos en el enlace del principio de este artculo y descrgatelo. Ejecutas Resource Hacker, abres en l el programa asm02.exe y te dirijes a Dialog -> 101 -> 1033. All vers la palabra Probar y la sustituyes por Aceptar. Te quedar as:

Como puedes observar, segn la numeracin de la imagen: 1. Me he dirigido a Dialog -> 101 -> 1033 He modificado Probar por Aceptar Pulso el botn Compile Script (En espaol saldr como Compilar Script). Selecciono men: File -> Save As (En espaol es: men Archivo -> Guardar como). Y lo guardas con el nombre que quieras SIN OLVIDARTE de la extensin exe.

2. 3. 4.

Ya est todo, si ahora ejecutas el programa que has guardado podrs 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.

Resource Hacker 3.4.0.79 Espaol


Resource Hacker 3.4.0.79 Espaol
Resource HackerTM es una utilidad freeware para ver, modificar, renombrar, aadir, borrar o extraer recursos en ejecutables para Windows a 32 bits y en archivos de recursos (*.res). Su pgina Web es la siguiente: http://angusj.com/resourcehacker/ A fecha de este artculo, la versin ms reciente es la 3.5.2.84 que se va actualizando. La principal diferencia es que la versin 3.5 es capaz de analizar recursos a 64 bits. Es un programa muy sencillo de manejar y personalmente pienso que no es necesario usarlo traducido al espaol. La versin 3.4.0.79 fue traducida y la tena guardada en mi disco duro, as que la pongo en descarga por si alguien quiere usarla. Sin embargo, y vuelvo a repetir, deberas descargar la ltima versin que est solamente en ingls desde su pgina Web. Respetando la licencia del programa y los trminos y condiciones de uso originales, para poner un archivo en descarga tienes que solicitar permiso al autor del copyright. El da 02 de noviembre de 2011 se lo ped a Angus, autor de Resource Hacker y me respondi lo siguiente: DESCARGA:

Resource Hacker 3.4.0.79 Espaol

Imgenes:

Resource Hacker y la edicin de recursos


Resource Hacker es el programa por excelencia para la edicin de recursos. Yo creo que es nombrado en todo tutorial en el que se hable sobre este tema. Es un programa que ha sido descargado, segn su pgina web, millones de veces y se sigue utilizando todava a da de hoy pero tiene un gran pero: el autor dej de desarrollarlo en el ao 2002 aunque en el 2009 y 2011 nos sorprendi a todos con dos ltimas versiones. Hoy voy a explicaros un poco todo lo que envuelve a esta excelente aplicacin.

Ficha resumen

Licencia: Freeware Sistema Operativo: Windows 95 - Windows 7 ltima actualizacin: 16 de septiembre de 2011 (versin 3.6.0) Para: 64 y 32 bits. Pgina web: http://angusj.com/resourcehacker/

Resource Hacker v3.6.0.92

Qu es Resource Hacker?

Como he dicho en la primera frase, Resource Hacker (TM: Trade Mark, marca registrada) es el programa gratuito por excelencia para la edicin de recursos. Yo le he dedicado muchsimas horas, hace aos... Est muy relacionado con la Ingeniera Inversa y con l se han modificado y crackeado -s, con un simple editor de recursos- muchas aplicaciones. Me viene por ejemplo a la mente cuando se modific un Messenger (no recuerdo si era la versin 7) para poder usarlo, ya que sali una nueva versin y esta anterior no se poda ejecutar, algo que a m me pareca algo arriesgado hablando en trminos de seguridad.

Licencia de uso - trminos y condiciones


Este programa tiene una licencia y unos trminos y condiciones de uso que hay que leer desde su pgina oficial, ya que la traduccin no puede ser lo suficientemente precisa pero tiene dos puntos principales:

Este software no se va a distribuir a travs de cualquier dominio del sitio web o cualquier otro medio sin la previa autorizacin por escrito del propietario del copyright. Este software no ser usado, bajo ningn concepto, para modificar un software de forma ilegal.

Se desarroll hasta su versin 3.4.0


De lo que yo conozco, Resource Hacker fue muy conocido y usado all por el ao 2001-2004, aunque a da de hoy tambin se usa y explicar el porqu. Desde su creacin en el ao 1999, su autor Angus hizo un excelente trabajo desarrollando la aplicacin durante 3 aos (en algunos casos con varias actualizaciones al mes) hasta marzo de 2002 (versin 3.4.0). A partir de esta fecha su autor se neg a actualizar la herramienta y a vender el cdigo fuente y aunque le mandaron miles de emails pidiendo que continuara con el desarrollo, a todo el mundo (incluido karmany que se lo pregunt en marzo de 2007) le contestaba lo mismo: -"No, I have no plans to update Resource Hacker. Sorry. Angus" Por qu esta rotunda negacin? Parece ser que todo viene porque Resource Hacker est compilado con Delphi 3.02 y es posible que al usarlo con determinadas aplicaciones (sobre todo con programas realizados en una versin Delphi mayor a 3.02) no funcione correctamente en la compilacin o descompilacin de recursos debido a la nueva sintaxis del lenguaje. Para solucionar ste y otros problemas hay que recompilar Resource Hacker con una versin ms actual de Delphi y es posible que para esto haya que modificar y readaptar la mayor parte del cdigo fuente. Me imagino que ste es el motivo por el que el autor se neg a desarrollarlo. En el archivo readme.txt habla algo ms sobre esto. Curiosamente, a finales del ao 2009 apareci la versin 3.5.0 que nos sorprendi a muchos y nos frotamos los ojos para ver si era verdad pero esta versin estaba compilada tambin con Delphi 3.02 y sali a la luz porque Angus hizo Resource Hacker compatible con aplicaciones a 64 bits (lo hizo para uso propio) y finalmente y en septiembre de 2011 apareci la ltima versin 3.6.0 (a fecha de este artculo) con soporte para iconos png. Realmente Resource Hacker es una herramienta muy buena y recomendable todava a da de hoy, aunque ya no se desarrollar y tiene limitaciones. El diseo de este programa lo considero ms que excelente para el uso de gente sin prcticamente conocimientos como para gente experta. Para usuarios con experiencia es muy til porque te permite aadir cdigo propio y tienes una mayor flexibilidad de trabajo, no como otros programas, y de pago, que los han querido hacer tan sencillos de manejar que no te permiten ni tan siquiera agregar cdigo y/o tienen muchsimas limitaciones. Mediante un botn, internamente tiene un script para volver a compilar los recursos que hayas modificado, creado o eliminado.

Sus caractersticas:

Voy a hacer una traduccin lo ms aproximada que pueda de lo que pone en su pgina web: 1.- Permite visualizar los recursos en archivos ejecutables Win32, Win64 (*.exe, *.dll, *.cpl, *.ocx) y en archivos de recursos (*.res) tanto en sus formatos compilados o descompilados. 2.- Permite extraer (guardar) los recursos en archivos en: formato *.res, como un binario, o como imgenes o scripts de recursos descompilados. Los iconos, mapas de bits, cursores, mens, dilogos, tablas de cadenas, tablas de mensaje, aceleradores, formularios de Borland y los recursos de version info pueden ser descompilados completamente en sus respectivos formatos, ya sea como archivos de imagen o archivos de texto *.rc. 3.- Es posible modificar (renombrar o reemplazar) los recursos en archivos ejecutables. Los recursos de las imgenes (iconos, cursores y mapas de bits) pueden ser reemplazados por una imagen desde un archivo de imagen correspondiente (*.ico, * .cur, *.bmp), un archivo *.res o incluso otro archivo *.exe. Los dilogos, mens, tablas de cadenas, aceleradores y los scripts de recursos de mesagetable (tambin los formularios de Borland) se pueden editar y volver a compilar mediante el interno script editor de recursos que incorpora Resource Hacker. Los recursos tambin se pueden reemplazar con los recursos de un archivo *.res siempre y cuando el recurso reemplazado sea del mismo tipo y tenga el mismo nombre. 4.- Agrega nuevos recursos a los ejecutables. Es posible habilitar un programa para admitir mltiples idiomas, o aadir un icono personalizado o mapa de bits (logotipo de empresa etc.) al dilogo de un programa. 5.- Elimina los recursos. La mayora de los compiladores agregan recursos que nunca son utilizados por la aplicacin. Eliminar estos recursos no utilizados puede reducir el tamao de la aplicacin. -------------------------------------------------Nota acerca de WinXP - Win 7 y estilos visuales: --------------------------------------------------

Aadiendo un recurso manifest a Resource Hacker, puede causar problemas intermitentes a la hora de ver o editar dilogos. No se recomienda su uso.

El botn "Compile Script" donde se encuentra el cursor, permite compilar de nuevo los recursos con las nuevas modificaciones que hayas hecho, para mi una excelente opcin por la cual destaca Resource Hacker. El botn "Show Dialog" muestra el dilogo.

Conclusiones sobre Resource Hacker


Como hemos visto, Resource Hacker tiene limitaciones, por ejemplo, a la hora de compilar y descompilar recursos en aplicaciones hechas con Delphi actuales. Aparte de estas limitaciones, es un programa recomendable todava a da de hoy y que sobresale incluso comparndolo con programas comerciales. Si Resource Hacker se recompilara con una versin actual de Delphi, sera desde mi punto de vista, el nmero 1 y con mucha diferencia, pero eso ya hemos visto que no va a ser. Aunque yo tambin uso frecuentemente este programa, actualmente existen muchsimas alternativas de las que voy a hablar y veremos que donde falla Resource Hacker no lo hacen otros y viceversa. Tengo en mente traducir la ltima versin 3.6.0 en espaol, pero segn la licencia del programa tengo que solicitar la autorizacin del autor para que se pueda descargar de esta web. As que si el autor da su consentimiento, realizar la traduccin y la pondr en descarga. En estos momentos estoy buscando el email que le mand en el 2007 porque no es posible localizarle ni en su web ni en ningn sitio. En cuanto tenga noticias comentar su respuesta. Despus de rebuscar su direccin email la encontr por fin y le ped si puedo poner en descarga la versin Resource Hacker en espaol. Respetar el copyright y toda su licencia. Su respuesta me ha dejado muy contento y estoy muy agradecido: Angus: "Yes. Thanks for asking."

Editores de recursos para Windows (PE)


Los editores de recursos
Aunque algunos s que dominis todo este tema y me mandis emails para que diga escribiendo y aumente la complejidad, otros no entienden en absoluto de qu hablo y por ese motivo y como dije en un tutorial anterior hoy voy a hablar un poco de los editores de recursos para Windows. Como vimos, muchos recursos estn guardados en una determinada seccin, algo que no ocurre por ejemplo en programas que hayan sido compilados con Visual Basic 6 u otros, ya que, muchos recursos estn en la misma seccin de cdigo. Esto te pasar muchas veces al analizar un programa y te preguntars dnde se encuentra el icono o el texto que aparece en el men X?. No hay una respuesta genrica para esto, depende de muchos factores. Voy a centrarme en lo ms bsico y voy a hablar sobre los editores de recursos ms destacados para aplicaciones de Windows. Aunque en el tutorial de elhacker ya habl sobre esto, y no quiero repetir lo mismo, considero necesario mencionarlos y ser a partir del siguiente tutorial cuando empezar con los distintos ejemplos. De todos modos aadir alguno y especificar algn detalle de ms.

Editores de recursos para Windows

Como te podrs imaginar, existen muchsimos editores de recursos para Windows pero curiosamente muchos han dejado de desarrollarse. En general, los editores gratuitos no tienen nada que envidiar a los de pago aunque algunos tienen caractersticas interesantes. Los que voy a mencionar aqu te permiten editar los recursos que se hallan en la seccin que he comentado antes. Es necesario entender esto y la forma de trabajar de estos programas porque seguramente en esa seccin no encuentres determinados recursos que quieres modificar y para esto usaremos otras alternativas. Un ejemplo sencillo para que lo entiendas: si abres con un editor de recursos un programa que haya sido compilado en Visual Basic 6, no vers casi ninguno y esto es porque, en este caso, la mayora de los mismos se encuentran en otra seccin. Se entiende? Una de las principales limitaciones de estos programas es que (lgicamente) no pueden analizar ni modificar ejecutables comprimidos, empacados o encriptados. Si no tienes mucha experiencia es mejor que analices con un detector de packer/compilador tu archivo y puedas orientarte. Vamos a conocer los que considero ms destacados y una muy breve descripcin:

Resource Hacker

Gratuito. Versin: 3.6.0 (16 de septiembre de 2011) Descripcin: He hablado mucho sobre este programa. Es, por excelencia, el programa para la edicin de recursos. Muy usado hace aos pero que su autor dej de desarrollar, aunque actualmente ha sacado alguna nueva versin. Tiene bugs y seguramente no permitir la edicin de recursos a programas compilados con las ltimas versiones de Delphi (ver enlace anterior para ms info). Sirve para analizar aplicaciones (etc.) a 32 y 64 bits. Descata principalmente su flexibilidad y no pone impedimentos a la hora de agregar nuevos recursos. Yo lo sigo utilizando. Solicit a su autor si me permita la descarga desde mi web de Resource Hacker en espaol y accedi: Resource Hacker en espaol. Pgina Web: http://angusj.com/resourcehacker/ Valoracin: (8,5 de 10). Aunque tiene limitaciones es excelente y gratuito.

Resource Editor

Gratuito (a fecha de este artculo) Versin: 0.9.0.834 beta (10 de septiembre de 2011) Descripcin: Buena herramienta realizada en Delphi que corrije el error principal que tiene Resource Hacker. Est todava en fase beta y tiene tambin bastantes limitaciones que no tiene el anterior. Por ejemplo, no te permite directamente modificar un formulario (texto) de un programa en Delphi. Tiene un editor grfico, reconoce bastantes tipos de recursos y lo mejor es que est en continuo desarrollo. Me llama la atencin que el autor comenta en su web que todava no tiene claro si en un futuro har o no el programa de pago. Pgina web: http://melander.dk/reseditor/ Valoracin: (5 de 10). Est en estado beta todava. Tiene que mejorar.

XN Resource Editor

Gratuito Versin: 3.0.0.1 ( 17 de diciembre de 2005)

Descripcin: Excelente programa gratuito compilado con Borland Developer Studio 2006 y que tiene a tu disposicin el cdigo fuente. Diseado especficamente para Windows 98, 2000 y XP (lo he testeado en W7) sigue siendo recomendable y al igual que Resource Hacker tiene bastante flexibilidad en su manejo. Tal vez la mayor dificultad para usuarios que empizan a conocerlo sea tras una modificacin de un recurso, cmo guardar los cambios. Soporte para UNICODE. Pgina web: http://www.wilsonc.demon.co.uk/d10resourceeditor.htm Valoracin: (8,5 de 10). Otro recomendable programa que no debe faltar junto a tus herramientas.

Explorer Suite

Gratuito Versin: III (03 de diciembre de 2010) Descripcin: Muy buen programa que permite analizar aplicaciones a 32 y 64 bits y los recursos .NET. Aparte de todo esto es capaz de editar UNICODE, muy til para programas en estos lenguajes. Es de destacar que posee muchas herramientas incorporadas como un editor hexadecimal y muchsimas utilidades. Es muy completo y destaca la usabilidad. Complementado con los anteriores, no habr formato PE que se te resista. Pgina web: http://www.ntcore.com/exsuite.php Valoracin: (6,5 de 10). Pongo un 6,5 valorando nicamente la edicin de recursos, que no es tan completa como los anteriores.

Exescope

De pago (20$) Versin: 6.50 (23 de mayo de 2004) Descripcin: Para aplicaciones a 32 bits con las aplicaciones anteriores tendrs suficiente. Pongo este programa ya que es de los pocos que permiten la edicin de recursos a aplicaciones de 16 bits. Fue muy conocido. Pgina web:http://hp.vector.co.jp/authors/VA003525/emysoft.htm#6 Valoracin: (8,5 de 10). Bastante completo y destaca por permitir 16 bits.

Resource Tuner

De pago (39,95$) Versin: 1.99 R6 (October 20, 2009) Descripcin: Es bastante completo. No es posible saber el camino que llevar porque hace ms de dos aos que no se actualiza. Un programa fcil de utilizar que destaca por la posibilidad del uso de plugins, por ejemplo tiene el plugin de descompresin de UPX pero que, a mi modo de ver, sus desarrolladores lo han querido realizar tan sencillo que tiene muchas limitaciones que no tiene por ejemplo Resource Hacker ni XN Resource Editor, por ejemplo, no es posible aadir cdigo a un formulario Delphi. Si hubiera tenido esta opcin, tal vez incluso lo hubiese comprado en su da. Aunque es bueno prefiero las aplicaciones gratuitas que no tienen nada que envidiar. Pgina web: http://www.restuner.com/ Observaciones: Esta empresa tiene otra aplicacin llamada PE Explorer muy interesante y con muchas opciones que lleva incorporado este editor de recursos.

Valoracin: (8 de 10). No tiene tanta flexibilidad en su manejo, est todo automatizado.

Restorator 2007

De pago (87$) Versin: 2007 Update 2 (julio de 2007) Descripcin: Viendo las dems aplicaciones es un programa caro. Lleva tambin mucho tiempo sin actualizarse ya que incluso las imgenes de su web corresponden a Windows XP pero la verdad que es muy completo. Permite el uso por linea de comandos y tiene muchas caractersticas y un excelente y trabajado manual de uso. La verdad que no he encontrado una caracterstica importante que no tengan los editores de recursos anteriores y que pueda justificar un precio tan elevado (en comparacin con los dems). Pgina web:http://www.bome.com/products/restorator Valoracin: (8,5 de 10). Aunque es muy buen programa no lo recomiendo porque me parece un precio muy elevado.

Existen muchos ms programas. De algunos de ellos no hablo porque sus caractersticas son limitadas (por ejemplo Anolis Resourcer). Tampoco, y como coment al principio, no he hablado de programas para la edicin de recursos en programas hechos con compiladores especficos (por ejemplo Visual Basic 6 o programas para la edicin de recursos en la programacin como ResEdit) que quiero tratar como temas aparte. Ir actualizando este tutorial o lo enlazar con otro/s con las nuevas versiones o nuevos programas que aparezcan y que puedan resultar tiles.

HxD: Editor hexadecimal y editor de disco


HxD: editar datos en sectores disco
HxD es un rpido y potente editor hexadecimal que aparte de leer la memoria de los procesos y abrir archivos de cualquier tamao, permite leer y escribir datos en sectores del disco duro y/o otros dispositivos de almacenamiento. Es gratuito y tiene una versin instalable y otra portable. Aunque existen muchsimos editores hexadecimales con innumerables opciones (por ejemplo UltraEdit), HxD es un sencillo y rpido editor hexadecimal que tiene las opciones ms elementales que un programa de este tipo puede necesitar:

Tiene una versin portable y otra instalable. Permite abrir cualquier tipo de archivo independientemente de su tamao Tiene una simple opcin para comparar archivos y buscar diferencias Exporta el cdigo en distintos formatos (pascal, HTML etc.) dependiendo del documento. Es posible insertar bytes, pegarlos o sobrescribirlos. Una opcin que no todos tienen y a veces muy necesaria Permite realizar bsquedas de texto (ANSI, UNICODE), valores hexadecimales, nmeros enteros, de punto flotante etc. Podemos especificar el nmero de bytes por fila Se puede editar los bytes o el cdigo directamente

Puede leer procesos de memoria Pues deshacer cuantas veces quieras Compatible con Windows NT/2000/XP/2003/Vista/7 Est disponible en muchos idiomas Usabilidad

Aparte de todo esto es capaz de leer y escribir datos por ejemplo en un disco duro o en otra unidad: disquetes, discos ZIP, unidades flash USB, CD... Esto es posiblemente lo que ms puede llamar la atencin y para hacerlo ms sencillo, la modificacin de estas unidades o la lectura de la memoria se hace del mismo modo que cuando abrimos un archivo. Imagina que tienes una comnmente llamada memoria USB. Formatea esa unidad con el sistema de archivos FAT32 y ah crea un archivo llamado karmany.net (por ejemplo). Realmente, lo que un usuario ve es un slo archivo: karmany.net. Sin embargo, esto es algo verdaderamente interesante sobre todo para las personas que nos gusta ver y estudiar es contenido real de un disco, conocer y entender por ejemplo el sistema de archivos o simplemente intentar extraer informacin del mismo. Has perdido alguna vez informacin en un disco? Tal vez examinndolo con este programa puedas encontrarlo. Seguramente hayas odo muchas veces que cuando se elimina un archivo realmente no se borra del todo. Haz esta prueba que acabo de hacer: crea en una memoria USB un archivo de texto y escribe dentro algo caracterstico que recuerdes. Observa con HxD que ese texto existe. Ahora desde Windows elimina el archivo y tras esto vuelve a ejecutar HxD y busca el mismo texto. Seguro que te sorprenders:

Su pgina web donde tendrs ms informacin y podrs descargarlo es sta: Pgina web de HxD

En resumen...
Es un excelente editor hexadecimal con las opciones ms comunes que se le pueden pedir a un programa de este tipo. Es rpido, potente, sencillo, con un diseo de interfaz intuitivo, est en espaol, permite leer la memoria de los procesos y como caracterstica ms destacable es capaz de leer y modificar los datos en los sectores de un disco. Por contra no tiene ayuda.

You might also like