Está en la página 1de 37

Tutorial para editar recursos

Compilado por krc-4u,

TUTORIAL PARA EDITAR RECURSOS


NOTA ANTES DE COMENZAR: Este tutorial fue recopilado del foro de
elhacker.net, su autor Karmany. Puede visitar el siguiente link en donde esta el
post original y en donde se estan colocando los ejemplos:
http://foro.elhacker.net/index.php/topic,134513.0.html. La ultima fecha de
recopilacin es 11/26/2006.

INTRODUCCIN

Hace ya bastante tiempo, en otro foro, hice un sencillo tutorial del manejo de
un programa para editar recursos: Resource Hacker 3.4.0.79. (si ponis en el
buscador: tutorial resource hacker lo encontraris).

Nada ms publicar aqul tute, recib muchos mensajes de gente que me peda
ayuda para modificar los recursos de algunos programas, cosa que a veces era
muy complicada y muchas veces imposible.

Ese tutorial lo modifiqu con el tiempo guardndolo en mi ordenador,


agregando informacin tambin de otros programas y de la experiencia que iba
adquiriendo, y hoy despus de todo este tiempo, y despus de que varias
personas hace poco me hayan pedido que les enve el tutorial vuelvo a
reeditarlo para colgarlo aqu.

Todos estos programas son muy parecidos en su manejo, as que con este
tutorial lo que pretendo es:

1) Saber qu son los recursos de un programa.


2) Por qu es interesante poder modificarlos.
3) Explicar con bastante detalle el manejo de un programa y posteriormente
explicar algunas caractersticas muy interesantes, de otros dos programas que
tambin utilizo mucho.
4) Cuando un editor de recursos no puede modificar un recurso, qu puedo
hacer?

QU SON LOS RECURSOS DE UN PROGRAMA?

Pagina 1
Tutorial para editar recursos
Compilado por krc-4u,

Los recursos son elementos de la interfaz que proporcionan informacin al


usuario. Los mapas de bits, los iconos, las barras de herramientas, los cursores
son ejemplos de recursos.

Con estos programas pues, lo que podemos hacer es ver, modificar, renombrar,
aadir, borrar y extraer recursos de ejecutables EXE (algunos a 32 bits otros a
16), (DLL y OCX). Se pueden ver los cursores, iconos, bitmaps, imgenes GIF,
AVI y JPG. Tambin se pueden escuchar los recursos de audio WAV y MIDI y
ver o modificar los Mens, Dilogos, Mensajes, Strings, etc.
A veces estos programas no encuentran todos los recursos, y por lo tanto estas
veces ser imposible modificarlo. Otras veces un programa reconoce un recurso
que otro programa no encuentra.

Seguro que habr alguno que todava no entiende qu es un recurso, voy a


poner el primer ej.:

Imaginemos un programa que tiene un men y al pulsar en File vemos lo


siguiente:

Vemos que el men File consta solamente de Open


Podemos hacer una cosa sencilla por ej. que es modificar el idioma a nuestro
gusto y queda por ejemplo as:

Ahora ya se entiende mejor, verdad?

QU FINALIDAD TIENE MODIFICAR UN RECURSO?

La finalidad que ms he odo repetida es para modificar el idioma a un


programa. Es una idea interesante. Mi experiencia y la de otras personas que se
lo han llegado a tomar tambin en serio es que es un trabajo muy pero que
muy costoso. El que haya traducido un programa entero y luego haya visto
recin sacada una versin posterior a la traducida, sabe de lo que hablo.

Pero hay muchsimas otras finalidades:


-Imaginemos un programa que cada vez que lo abrimos nos aparece una
ventana que dice:

Pagina 2
Tutorial para editar recursos
Compilado por krc-4u,

Bastar que podamos encontrar dicha ventana y la suprimamos (y que se


pueda claro).

-Podemos dar a nuestros programas nuestro toque personal.. podemos


insertarle alguna imagen que nos guste, nuestro nombre etc.

-Hay gente tambin muy lista (y muy vaga) que se dedica a modificar la
interfaz de un programa y luego hacen suyo el trabajo de los dems. Voy a
explicar esto ltimo con un ej. muy sencillo:

Por ej. tengo este programa:

Muy sencillo que pone que introduzca una password.

Voy a modificarlo rpidamente y queda esto otro:

Impresionante y es el mismo programa de arriba.

-En fin, podis hacer las cosas que vuestra imaginacin proponga y la limitacin
de estos programas tengan.

Vamos a empezar con el primer programa!.

Toda la informacin de este tutorial es personal y de mi experiencia con los


programas, tambin he aadido algunas cosas de los archivos de ayuda.

Antes de comenzar:

Pagina 3
Tutorial para editar recursos
Compilado por krc-4u,
Como todos sabemos, los programas son propiedad de sus desarrolladores y
stos conceden autorizacin para el uso de sus aplicaciones bajo unas
condiciones o trminos que, normalmente, vienen reflejados en la Licencia del
programa. Si en la citada licencia viene expresamente prohibido la traduccin
del programa, debemos de abstenernos de confeccionarla, salvo que
solicitemos (y obtengamos) la pertinente autorizacin de aquellos que
legalmente estn capacitados para concederla.

RESOURCE HACKER versin 3.4.0.79 Su pgina oficial es:


http://www.angusj.com/resourcehacker/

Un programa que seguro que va a quitar muchas horas de sueo a muchos.

Lo podis descargar del siguiente enlace traducido al espaol (el tutorial lo he


realizado con esta versin):
http://hispanicoweb.net/index.htm

La primera ventaja que tiene el programa es que no hay que instalarlo.

Para que todo el mundo pueda seguir este tutorial, se me ha ocurrido la idea de
trabajar con el mismo ejecutable de este programa. As pues, lo primero que
haremos y es lo que hay que hacer siempre es copiar el archivo a modificar, en
este caso ResHacker.exe y lo pegamos por ejemplo en el escritorio. Yo le he
cambiado el nombre para no equivocarme: copia.exe.

GENERALIDADES:

Ejecutamos el programa ResHacker.exe.

Vamos a echar un vistazo general a su ventana de inicio:

Observamos primeramente que la pantalla est dividida en dos: Izquierda en


blanco, derecha en un color crema.

Vemos tambin una sencilla barra de herramientas:

Pagina 4
Tutorial para editar recursos
Compilado por krc-4u,
Archivo, Editar, Ver, Accin, Ayuda.
Esto no merece ms explicacin, no voy a adentrarme en todos sus submens,
ya se irn viendo.

El programa puede abrir archivos .exe .dll .ocx .cpl .scr y .res. Archivos
ejecutables win32. Las limitaciones vienen bien explicadas en su pgina oficial.

Vamos a darle a abrir y seleccionamos el programa copia.exe:

Nos han salido a la izquierda 9 carpetas. Esas carpetas dependen del archivo y
del programa con que ha sido compilado el archivo: Visual Basic, C++ , Delphi,
etc., aunque normalmente algunas suelen ser similares.

Estas carpetas contienen lo que el programa llama recursos. (Resource).

Podemos encontrar algunas de las siguientes carpetas con los siguientes


recursos:

GIF o AVI: Aqu encontraremos como su nombre indica los archivos .gif o .avi
que encontraremos en el programa. Como ejemplo, en el programa que hemos
abierto, vamos a ayuda --> acerca de y encontraremos un .gif (Un martillo
golpeando las letras Resource Hacker).

Cursor y Cursor Group: Son los cursores que hay en el programa. Como
ejemplo, pon el puntero del ratn entre la lnea que separa la parte de color
blanca y la parte de color crema.

Icon e Icon Group: Son los iconos del programa. Como ejemplo, el icono del
ejecutable y el icono que vemos en la esquina superior izquierda de la ventana.

Bitmap: Como su nombre indica son los archivos en mapa de bits. Son las
imgenes que el programa utiliza. Como ejemplo abrimos la carpeta Bitmap y
vamos a SMALLICONS y pulsamos en 0. Ah encontramos las imgenes de
carpeta cerrada, abierta y la imagen de color amarilla o blanca de si estamos
viendo un recurso o no.

Pagina 5
Tutorial para editar recursos
Compilado por krc-4u,

String Table: Son las frases que aparecen cuando el programa identifica algn
error, problema o indica algn aviso. Como ejemplo vamos a String Table y a
4077. A la derecha veremos en 65219: "Los recursos han sido modificados,
desea guardar los cambios?". sta es la frase que aparecer cuando
modifiquemos un recurso y por ejemplo cerremos el programa sin haberlo
guardado.

RCData: Aqu estn los cuadros de dilogo. Este apartado es caracterstico de


los programas realizados con Delphi (como el Resource Hacker). Como ejemplo
vamos a RCData y a TABOUTFORM. Ah encontraremos en la 6 lnea Caption =
'Acerca de'. Este acerca de es el ttulo de la ventana que hay en ayuda -->
acerca de

Versin Info: Seguro que se os habr escapado algn detalle Cuando


pulsis en el icono del ejecutable con el botn derecho y seleccionis
propiedades o cuando dejis el icono del ratn sobre el icono del ejecutable,
veis que muchas veces se indica nombre del programador versin etcpues
aqu las tenis para modificarlas a gusto.

Hasta aqu se ha descrito el contenido de las 9 carpetas, pero como he


sealado en el Resource Hacker pueden aparecer otras carpetas:

Dialog: En esta carpeta encontraremos los cuadros del dilogo del programa.
Pero lo bueno que tiene esto es que en nuestro programa Resource Hacker
aparecer al lado del botn Compilar Script otro que dice Mostrar (u ocultar)
Dilogo. De esta forma para modificar el tamao de las ventanas, botones
etc podremos hacerlo grficamente.

Hay algunas carpetas ms que aparecen, algunas con nmeros hexadecimales,


que si no varas el nmero de caracteres normalmente te deja cambiarlo. Otras
carpetas contienen tambin informacin importante, pero explicando las ya
descritas yo creo que es ms que suficiente para adentrarnos en el programa.

VAMOS A COMENZAR!

Lo primero ejecutamos de nuevo el programa ResHacker.exe.


Vamos a archivo --> abrir y abrimos el copia.exe que tenamos en el
escritorio.

GIF y AVI

La primera carpeta que vemos a la izquierda es GIF (o AVI). Aqu aparecen los
archivos .gif y .avi como he sealado ms arriba.
La abrimos al mximo: GIF, 128 y pulsamos en el 0, veremos que el recurso es
un .gif de Resource Hacker en el que un martillo golpea a las letras.

Este gif aparece en ayuda --> acerca de (Comprobarlo).

Pagina 6
Tutorial para editar recursos
Compilado por krc-4u,

-Podemos guardar el .gif en nuestro disco duro para, por ejemplo, editarlo:
Pulsamos con el botn derecho en el recurso (0) y en el men que sale, la
tercera opcin es: Guardar [GIF : 128 : 0], pulsamos y la guardamos donde
queramos.

[GIF : 128 : 0] (esto nos indica el nombre 128, el tipo GIF y el lenguaje 0
del recurso).

-Una vez retocada o cuando tengamos otro .gif que queramos usar, volvemos a
pulsar con el botn derecho y damos a reemplazar recurso, en la siguiente
ventana sealamos abrir archivo con nuevo recurso, elegimos el archivo .gif
que queremos insertar y despus debemos rellenar los dos primeros campos tal
y como lo tenemos nombrado a la izquierda, es decir, en tipo de recurso
escribiremos GIF y en nombre de recurso escribiremos 128. Le damos a
reemplazar y ya lo tenemos. Para comprobarlo podemos guardar como
ejemplo.exe (acordarse de poner la extensin .exe) y ejecutamos el nuevo
ejemplo.exe.

Vamos a Ayuda --> acerca de y veremos cmo ha cambiado el dibujo...


curioso verdad?

Problemas que he encontrado: dar fallos en la ejecucin si se cambia el tipo,


nombre o lenguaje del recurso.

En este ejemplo que he puesto, el archivo que tiene que reemplazarse tiene
que ser .gif y da igual el nmero de pxeles y el tamao. Pero es aconsejable
que sean similares para poder verlos correctamente. Yo lo que he hecho ha
sido crear una imagen con un programa editor grfico (podis si no retocar la
imagen del programa o utilizar una vuestra) y despus grabarla como .gif.

Pagina 7
Tutorial para editar recursos
Compilado por krc-4u,
ICONOS Y CURSORES

En los iconos y cursores la informacin del recurso est dividida en dos tipos:
Cursor y Cursor group por un lado e Icon e Icon group por otro lado.
Se puede observar perfectamente esto en la parte de la izquierda.

Cada icono o cursor puede contener varias imgenes relacionadas. Ej. 16


pxeles x 16 pxeles (16 colores) 32 pxeles x 32 pxeles (256 colores)
dependiendo del tamao y resolucin del color se utilizar un icono u otro. Por
ejemplo, el icono para ejecutar el programa no tiene el mismo tamao ni
resolucin que el que hay en la esquina superior izquierda de la ventana.

-El Icon group contiene la informacin de un icono: nombre de la imagen,


tamao de la imagen y resolucin del color.

-El Icon contiene la imagen real.

Para cambiar un icono: Vamos p.ej. a Icon Group --> MAINICON--> 3081
pulsamos con el botn derecho y seleccionamos reemplazar recurso. No tiene
ms complicacin. Elegimos el que queremos (veis que se pueden seleccionar
.exe etc). Ahora podemos ver cmo se ha modificado Icon e Icon Group.
Para ver los resultados guardar como y veris ya primeramente cmo ha
cambiado el icono para ejecutar la aplicacin.

Para cambiar elCursor hacemos lo mismo. Lo que pasa es que aqu he


encontrado algn que otro problema. Alguna vez he intentado cambiar algn
cursor por otro que contena algn programa .exe, y al ejecutarlo, me ha dado
error en la aplicacin. As que si cambiis algn cursor probar que os
funcione!.

Tenis bastantes cursores en Windows --> cursores y cursor. Hay tambin


muchas utilidades para crear vuestros propios .cur y utilizarlos.

Os dejo una:
http://www.aha-soft.com/spanish/iconutils/

Bitmap:

Puedes igualmente reemplazar las imgenes. El mejor consejo aqu es que


pruebes por ejemplo en Bitmap --> SMALLICONS y cambies la bmp por otra
(botn derecho, reemplazar recurso). Estos iconos son de 16 x 16 pixels. En
total el dibujo es de 64 x 16 pixels. As que aunque sea complicado, para
hacerlo bien hay que hacerlo en ese tamao.

Puedes sino editar esa .bmp. Para esto tienes que guardarla en el disco duro.
Botn derecho y guardar. A mi no me ha dado ningn problema incluso
insertndole imgenes de mucho mayor tamao y resolucin.

Pagina 8
Tutorial para editar recursos
Compilado por krc-4u,
En mi ejemplo he jugado con unas palabras, t puedes intentar cualquier otra
cosa que se te ocurra. Este es el resultado:

String Table:

Para modificar la informacin vamos a hacer un ejemplo:

Abrimos String Table --> 4077 y pulsamos en 0. Vemos que a la derecha en


65218 sale Est seguro que quiere borrar recursos?, todo lo que hay entre
comillas se puede cambiar y variar el tamao.

Poner lo que queris. Yo he puesto: Soy karmany. Ahora le damos al botn


de arriba Compilar Script.

Si no da ningn error ya lo tenemos. Para comprobarlo vamos a guardar


como, ponemos por ej. ejemplo.exe y lo guardamos. Lo abrimos desde su
icono ejemplo.exe y vamos a archivo abrir y abrimos copia.exe. Abrimos GIF
--> 128 -->0, pulsamos con el botn derecho y decimos borrar recurso. Veris
lo que sale

Esto slo lo hace la primera vez que intentamos borrar un recurso, si


aceptamos despus ya no sale.

Hay que saber que:

-No cambiar nada que no haya entre comillas.

Pagina 9
Tutorial para editar recursos
Compilado por krc-4u,
-Los smbolos % no hay que borrarlos ni cambiarlos de sitio ni borrar la coma
que hay detrs ni las letras que van detrs pegadas.(%A0)

-El smbolo & significa que la letra que va detrs de este smbolo es el acceso
rpido para el programa. En un mismo men no puede ir la misma letra. La
letra va subrayada.

-Como habris podido observar hay mucha informacin que no deja cambiarla
al pulsar en Compilar Script, y abajo sale error, ya explicar ms adelante cmo
se puede intentar cambiar. Tambin hay muchsima informacin que
probablemente no veamos nunca, as que si queris traducir un programa mi
consejo es que traduzcis lo imprescindible solamente.

-Para buscar recursos tenemos en el men ver --> buscar texto. La verdad que
a mi me resulta muy til.

RCData:

Aqu aparte de cambiar el texto, puedes cambiar el color, subrayado etceste


es el apartado que ms me gusta.

Vamos a por el primer ejemplo:

Vamos a RCData --> TABOUTFORM y pulsamos sobre el 0. Ya os he explicado


en el apartado anterior cmo cambiar el texto, as que podis cambiar el
acerca de que hay en la sexta lnea y que es el ttulo de la ventana de ayuda
--> acerca de. Pulsis despus Compilar Script, (siempre que cambiis algo hay
que pulsar Compilar Script) guardar cmo, no olvidar la extensin .exe y probar
la aplicacin.

Para variar otras caractersticas hay que entender un poco ms:

Cada ventana, recurso etc en este ejemplo empieza por object y termina por
end. Si os fijis arriba del todo (en RCData --> TABOUTFORM y pulsamos sobre
el 0) pone: object AboutForm: TAboutForm que significa que va a empezar a
definir la ventana de ayuda. El end lo tiene abajo del todo (es el ltimo), es
decir, que todo lo que hay entre object AboutForm: TAboutForm y end
corresponde a los datos que hay en la ventana de ayuda acerca de.

Desde arriba todos los datos que veis hasta TextHeight = 14 definen las
caractersticas de la ventana, algunas de ellas como:

Left = 209, Top = 251, ClientHeight = 205, ClientWidth = 296 que indican
respectivamente la posicin en la horizontal, posicin en la vertical, anchura y
longitud de la ventana.

A veces es posible cambiar estos valores, pero mi experiencia dice que suelen
dar bastantes errores. Para evitar estos errores yo lo que hago es compilar

Pagina 10
Tutorial para editar recursos
Compilado por krc-4u,
programando los textos yo mismo (esto est explicado un poco ms abajo).
Un valor de ejemplo que podis compilar es ClientHeight=2 y veris cmo
cambia la ventana. Si ponis otros valores y compilis, el error os lo dar al
intentar ejecutar la aplicacin:

Error no es una aplicacin win32 vlida

Vamos a por otro objeto, el siguiente:


object Label3: Tlabel
Left = 27
Top = 128
Width = 241
Height = 15
Cursor = crHandPoint
Caption = 'http://rpi.net.au/~ajohnson/resourcehacker'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlue
Font.Height = -12
Font.Name = 'Arial'
Font.Style = [fsBold, fsUnderline]
ParentFont = False
OnClick = Label3Click
End

-El object Label3: TLabel nos dice que va a definir un control Label (es un
texto que no puede ser modificado por el usuario, cuando se ejecuta el
programa).

-Las 4 siguientes lneas indican la posicin como he explicado antes. (Aqu no


me deja cambiarlas).

- Cursor = crHandPoint indica el cursor que va a tener cuando pasas el icono


del ratn sobre el texto.(En este caso es una mano, indicando que es
interactivo).

-Caption = es el mensaje.
-Font.Color = clBlue indica el color del texto. Color azul.
-Font.Height = -12 indica el tamao. Mayor nmero mayor tamao.
-Font.Name = Arial es el tipo de letra.
-Font.Style = [fsBold, fsUnderline], indica las caractersticas del texto: Bold es
negrita y underline es subrayado.

-OnClick = Label3Click activa para que cuando pulsemos (hagamos clic) sobre
el texto haga una determinada funcin.

Bueno pues viendo lo que tenemos aqu, vamos a hacer nuestra pequea
programacin en texto!! As podremos poner el texto que queramos y donde
queramos sin que nos d ese error tan molesto de no es una aplicacin win32

Pagina 11
Tutorial para editar recursos
Compilado por krc-4u,
vlida..!!:

Lo primero es definir un texto:

object Label9: TLabel y ahora le pongo las caractersticas que yo quiero y en


total me queda as:

object Label9: Tlabel


Left = 0
Top = 0
Width = 241
Height = 15
Cursor = crDrag
Caption = 'Esto es una prueba'
Font.Charset = DEFAULT_CHARSET
Font.Color = clred
Font.Height = -20
Font.Name = 'Verdana'
Font.Style = [fsItalic]
ParentFont = False
End

Ahora lo que tenis que hacer es insertar todo esto. Yo lo he insertado detrs
de TextHeight = 14. Como si trabajarais en Word. Luego lo compilis y
probis la aplicacin.

Impresionante verdad!.

En este punto yo s que ms de uno se va a animar haciendo muchsimas


cosas ms, pero lo dejo en vuestra imaginacin.

Dialog:

Pagina 12
Tutorial para editar recursos
Compilado por krc-4u,

Es muy curioso cmo acta el programa Resource Hacker con los recursos de
Dialog.

Como ejemplo voy a intentarlo con un archivo que espero tenga todo el mundo.

Primeramente haremos una copia de seguridad. Vamos a:

-Disco duro --> archivos de programa --> Windows Media Player --> y
hacemos una copia del archivo ejecutable: setup_wm.exe.

Abrimos la copia con el Resource Hacker.


-Vamos a Dialog --> 51 y pulsamos en 3082. Veis el botn que os he dicho
antes?: mostrar u ocultar dilogo. En este caso ocultar dilogo:

Pulsadlo para que veis lo que hace. Pues esa ventana que pone Iniciando
descarga, la podis modificar a vuestro gusto. Podis pinchar sobre las dos
barras de descarga y sobre las letras iniciando descarga y ponerlas donde
vosotros queris.

Aqu porque no salen botones (botones de aceptar, cancelar etc), pero podis
pinchar igualmente sobre ellos y modificar la posicin como queris.

Esta es una de las maneras para modificar los recursos, pero podemos hacerlo
de otras formas.

Otra forma es variar el cdigo que en este caso es:

51 DIALOGEX 0, 0, 399, 134

Pagina 13
Tutorial para editar recursos
Compilado por krc-4u,
STYLE DS_NOFAILCREATE | WS_CHILD
EXSTYLE WS_EX_RTLREADING | WS_EX_CONTROLPARENT
CAPTION ""
LANGUAGE LANG_SPANISH, 0x3
FONT 8, "Tahoma"
{
CONTROL "Progress1", 8000, "msctls_progress32", PBS_SMOOTH | WS_CHILD
|
WS_VISIBLE | WS_BORDER, 64, 40, 286, 9
CONTROL "Progress1", 8001, "msctls_progress32", PBS_SMOOTH | WS_CHILD
|
WS_VISIBLE | WS_BORDER, 64, 88, 286, 9
CONTROL "", 1028, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE |
WS_GROUP, 311, 25, 36, 8 , 0x00001020
CONTROL "", 1021, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE |
WS_GROUP, 311, 74, 36, 8 , 0x00001020
CONTROL "Iniciando descarga...", 1022, STATIC, SS_LEFT | WS_CHILD |
WS_VISIBLE | WS_GROUP, 64, 66, 222, 16 , 0x00000020
CONTROL "", 1023, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE |
WS_GROUP,
64, 17, 222, 16 , 0x00000020
CONTROL "", -1, "NativeFontCtl", 0x50000010, 0, 0, 0, 0
}

As a primera vista parece complicado, pero se entender todo este cdigo en el


siguiente prrafo.

Una manera ms de variar aqu los recursos es pulsando con el botn derecho
(Cuando est mostrado el dilogo). Sale un men y podis insertar control,
editar control, borrar control, editar dilogo y ocultar dilogo. Es una forma
muy fcil de editar.

Voy a poner un ejemplo sencillo para entender tambin cmo se modifica el


cdigo.

Nos encontramos aqu de nuevo:

Pagina 14
Tutorial para editar recursos
Compilado por krc-4u,

Pulsamos sobre la ventana que pone Dialog 51 con el botn derecho y


seleccionamos insertar control. Como en los ejemplos que hemos puesto arriba,
vamos aqu tambin a insertar un texto label que diga por ejemplo: Espere.

Para ello en el men desplegable seleccionamos STATIC:

O bien pulsamos sobre la palabra label. Si dejamos el puntero del ratn sobre
cada icono nos dice a qu control corresponde.

En leyenda poner: Espere.

Por lo dems, he cambiado lo que se ve(podis ver cmo se modifica el valor


Style): 54020101

Pagina 15
Tutorial para editar recursos
Compilado por krc-4u,

Y queda as:

Hay que darse cuenta que al modificar esto de esta forma, hemos cambiado el
cdigo que pareca tan complicado al principio. Acabamos de insertar en la
ventana un control label. Vamos a ver cmo se ha puesto en el cdigo:
CONTROL "Espere", 0, STATIC, SS_CENTER | SS_NOTIFY | WS_CHILD |
WS_VISIBLE | WS_CLIPSIBLINGS | WS_GROUP, 134, 112, 74, 14 , 0x00020201

Ahora ya se entiendo todo... verdad?

Ya se ve que no es nada complicado todo esto, simplemente es experimentar


un poco.

Pagina 16
Tutorial para editar recursos
Compilado por krc-4u,
Llegados a este punto he de decir una de las muchas utilidades del Resource
Hacker. ;o)

Algunas veces al abrir un programa, nos podemos encontrar con alguna


pesada e incomoda ventana de informacin, como la que he puesto al inicio,
que nos puede avisar o comunicar cualquier cosa: desde la versin del
programa hasta....los das que nos quedan para utilizar el programa. Qu se
hace para evitar esta desagradable ventana de informacin?, pues, ya veris
pero no siempre, que borrando la carpeta con todos sus recursos ya no vuelve
a salir. En el ejemplo anterior sera borrar por completo la carpeta 51.

Por ltimo antes de acabar voy a poner un ejemplo que vi en el archivo ayuda
de cmo insertar una imagen o un icono en programas que tengan la carpeta
Dialog. Lo primero es buscar un programa que contenga la carpeta Dialog, as
que buscando he encontrado uno muy conocido el emule 0,47a (compilado en
C/C++ si no me equivoco).

Vamos a ir a Disco duro --> archivos de programa --> emule y copiamos el


archivo eMule.exe y lo pegamos en el escritorio, lo utilizaremos como copia de
seguridad.

Abrimos la copia del emule 0,46a con el Resource Hacker.

Ahora lo que vamos a hacer es insertar el icono que queremos que aparezca en
la ventana. Para esto seleccionamos en Accin --> Aadir un nuevo recurso.
Abrir archivo con nuevo recurso y vamos a buscar el icono.ico. Elegir el que
queris, yo he elegido uno de color verde. Seleccionarlo.

En tipo de recurso ya se tendr que haber puesto ICONGROUP y en nombre de


recurso ponis el que queris: NUEVOICONO he puesto yo. Le dais a aadir
recurso. Para ver si est bien insertado nos vamos a Icon Group y tiene que
aparecer nuestro NUEVOICONO (por orden alfabtico).

Ahora nos vamos a ir a la ventana donde queremos insertarlo que en este caso
est en: Dialog --> 315 por ej.

Pulsis sobre el 0 y en la parte de la derecha arriba en ocultar dilogo (o cerrar


la ventana). Y ahora vamos a insertar la orden oportuna, insertndola donde
queris, yo la he puesto la ltima:
CONTROL "NUEVO ICONO", -1, STATIC, SS_ICON | WS_CHILD | WS_VISIBLE,
171, 173, 21, 20

Sobre todo tened cuidado de no borrar el {. Si la copiis directamente tal vez os


de error de sintaxis las comillas. Deberis cambiarlas vosotros escribindolas de
nuevo.

Tras todo esto pulsamos en Compilar Script y ya tenemos el icono. Lo ponemos


donde queramos, volvemos a compilar y guardamos.

Pagina 17
Tutorial para editar recursos
Compilado por krc-4u,

Para ver el resultado, abrimos el emule y vamos a preferencias, ah estar la


ventana con nuestro nuevo icono:

Bueno hasta aqu dejo ya el Resource Hacker.

Existen otros programas para editar recursos como son:

Exescope y XN Resource Editor y seguro que hay muchos ms..

Otros dos editores de recursos.

Exescope
Su pgina oficial es:
http://hp.vector.co.jp/authors/VA003525/emysoft.htm#6

No es gratuito. En su pgina oficial no lo tienen tampoco en espaol, as que


traducido se puede descargar de aqu:
http://hispanicoweb.net/index.htm

Es muy parecido al Resource Hacker. Lo bueno es que puede abrir ejecutables


de 16 bits, cosa que el anterior no hace.

XN Resource Editor

Programa gratuito que se puede descargar de su pgina oficial:


http://www.wilsonc.demon.co.uk/d10resourceeditor.htm
Es similar a los otros dos pero tiene algunas opciones muy interesantes:
-Tiene una interfaz ms agradable.
-Permite modificar iconos y mapas de bits.

Como ejemplo voy a abrir el Resource Hacker con el XN Resource Editor, voy a
ir a Icon Group --> MAINICON y selecciono el icono 32 x 32. Como se observa
se puede modificar el icono:

Pagina 18
Tutorial para editar recursos
Compilado por krc-4u,

Y en segn qu programas, en Dialog, te permite modificar los recursos


grficamente ya que aade los controles a la derecha, he de decir que me
llam mucho la atencin:

-Y por ltimo otra utilidad muy interesante que tiene este programa es que
puedes aadir como recurso el XP Theme Manifest. Yo lo he utilizado para
aplicaciones creadas en Visual Basic 6 por ej. y darles apariencia XP.

Y para finalizar, una pregunta. Hemos visto que podemos cambiar muchos
recursos en nuestros programas y estos programas y muchos otros estn muy
bien porque podemos variar el nmero de letras y se puede compilar.

Pero en el caso del programa Resource Hacker, Cmo podemos cambiar por
ejemplo el ttulo de la ventana principal, aparte de otras cosas?.

Pagina 19
Tutorial para editar recursos
Compilado por krc-4u,

Si lo intentis buscar, veris que no sale en recursos, as que no lo podemos


modificar con estos programas.

Para poder modificarlo deberemos utilizar otros programas editores como el


Ultraedit 32 que es el que utilizo yo. Son editores en hexadecimal.
No me voy a adentrar en el manejo de este programa, pero voy a explicar
cmo cambiar en la ventana principal las palabras: Resource Hacker:

Al abrir el archivo copia.exe con el Ultraedit vemos un montn de lneas y a la


izquierda el nmero de lnea: 00000000h, 00000010h etc Debemos buscar
en este caso sobre la lnea 000aaf70h y veris a la derecha las palabras:
Resource Hacker. stas son las palabras que podemos modificar para cambiar
el ttulo de la ventana principal del programa.

CONCLUSIONES:

Espero que os haya servido de ayuda todo este extenso tutorial.

La verdad que hoy da traducir un programa o hacerlo a gusto de cada uno es


estar sentado delante del ordenador muchas horas, y cuando crees que lo
tienes acabado encuentras alguna frase sin traducir, o cuando lo has traducido
acaban de sacar al mercado una versin posterior.

Existen muchos programas para modificar los recursos. Yo utilizo estos 3 que
acabo de mencionar. A veces uno abre lo que el otro no puede.

Muchas veces veris que no son capaces de abrir muchos recursos y tendris
que utilizar programas editores hexadecimales. Hay que tener cuidado con
estos ltimos programas porque no se pueden insertar ni borrar bytes ya que
sino la aplicacin es muy probable que d error. Por ej. puedes tener una
aplicacin en la que quieres traducir la palabra: Help que tiene 4 bytes: 48 65
6C 70 por ayuda en espaol que son 5 bytes: 41 79 75 64 61. Dar casi seguro
error.

Por eso siempre antes de modificar cualquier archivo hay que hacer una copia
de seguridad.

Otras veces veris que algunas aplicaciones han sido comprimidas o


encriptadas y no se pueden ni siquiera ver los recursos.

En este caso para ver los recursos hay que descomprimirlas o desprotegerlas...
el ejemplo 2 es un caso concreto por ej.

Cualquier duda, error, cosa que queris aadir

Pagina 20
Tutorial para editar recursos
Compilado por krc-4u,

Un saludo de karmany.

Compilado por Krc-4U

Pagina 21
Tutorial para editar recursos
Compilado por krc-4u,

EJEMPLOS
En este apartado ir aadiendo algunos ejemplos de cmo hago yo para
modificar algunos recursos.

EJEMPLO1:

Ya que nos encontramos en el subforo de Ingeniera Inversa, voy a aprovechar


este tutorial para modificar un programa que puede ser til.

El programa se llama: Embryo Patcher versin 1.2:

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.

Descarga directa:
http://programmerstools.org/system/files?file=embryo1.2.zip

Si se ejecuta este programa, observamos primeramente que ni el botn 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 dnde viene el programa, su
autor etc. Nada! su pgina web ha desaparecido.

Pagina 22
Tutorial para editar recursos
Compilado por krc-4u,
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:

Uff, recuerdo que las versiones menores de 1.0 estaban obsoletas. Fui a la
pgina de UPX y utilic desde la version 1.0 hasta la 2.0 y nada de nada. No me
deja descomprimirlo. Ya estando a punto de echar un vistazo a los tutes que
tengo de la Web del Maestro Ricardo Narvaja record un programa tambin
para editar recursos, que tena un plugin especial para UPX. Un buen rato
despus de googlear lo encontr:

Resource Tuner: Es un programa para editar recursos como los que he


comentado en este tutorial. No es gratuito y la versin de prueba es para 30
das.
Si alguien quiere algn da ms, estoy en ello, me mande un privado. La
ventaja que tiene que ya he comentado es que tiene un plugin para UPX.

Pgina 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 botn


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 extrao hay ah. Hay
cuatro LINKS y slo 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


ocurra.

Por ej. en:


CONTROL "devon@wizard.ae.krakow.pl", 3400, "LINK", 0x50000100,
78, 61, 100, 8

Sustitu el LINK y qued as:


CONTROL "devon@wizard.ae.krakow.pl", 3400, STATIC, 0x50000100,
78, 61, 100, 8

Puls 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

Pagina 23
Tutorial para editar recursos
Compilado por krc-4u,

Y apareci el texto! Slo quedaba saber si funcionara el link, si se abrira


Acerca de y si el cursor sera la mano.

Cambi los 4 LINKS compil y guard el ejecutable. Lo abr y perfecto:

A partir de aqu con el Resource Hacker no hay ms misterio. Traduje el


programa, que no tiene mucho que traducir. Despus para traducir los Tool
Tips y dems dilogos que no aparecen en el Resource Hacker, utilic el
UltraEdit 32. Me qued as:

Pagina 24
Tutorial para editar recursos
Compilado por krc-4u,

En este momento parece que ya hemos acabado no?. Pues no, ya que
estamos arreglando el programa vamos a dejarlo bien acabado

Slo nos queda darle la apariencia de Windows XP si nos deja y ya est.

Voy a utilizar un programa que ya he explicado ms arriba: XN Resource Editor.

Como coment, este programa tiene una opcin muy interesante que es la de
aadir el recurso del archivo MANIFEST. Eso es lo que voy a hacer aadir este
recurso.
As que abro el XN Resource Editor -> File -> Open y selecciono el Embryo
Patcher que ya tenemos traducido.

Pagina 25
Tutorial para editar recursos
Compilado por krc-4u,

Voy a Resource -> Add Resource y selecciono de la lista el XP Theme Manifest.


Guardo el archivo y ya tenemos todo arreglado:

En realidad tienen que salir los botones como si estuvieran sobre otro botn.
Para arreglar esto, desde el resource hacker hay que sealar el botn, 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 tambin tiene que ver con este
programa.

Un saludo.

PD. Habis probado a utilizar el Resource Hacker con un archivo MANIFEST?


:-).
EJEMPLO 2:
Descarga del archivo:
parche.exe

Pagina 26
Tutorial para editar recursos
Compilado por krc-4u,
Utilizando el programa anterior podemos crear nuestros propios parches, pero
si observis la interfaz de estos parches no es muy agradable. As que este
ejemplo trata de eso:

Modificar los recursos de un parche generado con Embryo Patcher 1.2.

Programas para desempacarlo: OllyDBG con plugin OllyDump, Import


REconstructor 1.6 final, LordPE.

Yo quera hacer un ej. sencillo, desempacando UPX de forma tradicional pero,


sin quererlo he encontrado un programa que tiene alguna sorpresa...Mi parche
generado lo he llamado: parche.exe:

Si examinamos el archivo con el Peid nos dice que est empacado con UPX.
Prob:

-Desempacarlo con UPX


-Utilizar el plugin del ej. anterior Y nada de nada as que toca desempacarlo a
mano:

Existen muchsimos tutes de cmo desempacar UPX. He hecho un tute paso a


paso de cmo desempacar mi parche.exe, lo subir, por si alguien no lo tiene
muy claro.
Lo que explico aqu a fin de evitar un mensaje muy largo es general.

Descarga:
Explicacin.doc

Desempacado de parche.exe
1) Abro parche.exe con el Olly, veo que lo primero que aparece es un
PUSHAD, as que utilizo una forma para obtener el OEP (Punto de
entrada, Entry Point), que explico en el archivo anterior.

El OEP que obtengo es 401000.

Pagina 27
Tutorial para editar recursos
Compilado por krc-4u,
2) Ahora lo que voy a hacer es dumpearlo con el plugin OllyDump. Lo nico
que destildo es Rebuild Import porque voy a buscar los datos de la IAT
manualmente. El archivo dumpeado lo llamo: dumpeado.exe

3) Ahora slo queda arreglar la IAT:


Botn derecho -> Search For -> Binary String y busco el famoso FF 25
Lo primero que me ha encontrado ha sido un salto en 401826.
Pulso: botn derecho -> Follow In Dump -> Memory Address
y obtengo Inicio, Fin y tamao de la IAT:
INICIO de la IAT: 00402000
FINAL de la IAT: 00402080
Tamao: 80

Si esto no se entiende descargar el archivo que he comentado antes que viene


bien explicado. .

Con estos valores ya puedo abrir el Import REconstructor y attachear


"parche.exe". E introduzco abajo a la izquierda los siguientes valores que he
obtenido:

OEP: 00001000
RVA: 00002000
Size: 00000080

Pulso en Get Imports y observo que todas las entradas son vlidas. Parece todo
correcto, as que pulso en Fix Dump, elijo el archivo dumpeado.exe, que haba
creado con el plugin OllyDump y se crea satisfactoriamente el archivo:
dumpeado_.exe.

Bueno mi intencin era llegar hasta aqu, pero si ejecuto dumpeado_.exe


observo con sorpresa que el texto es ilegible y el programa NO funciona
correctamente...

Pagina 28
Tutorial para editar recursos
Compilado por krc-4u,

En este punto me equivoqu en mis razonamientos y no saqu nada claro, as


que le mand mi desconcierto y sorpresa a Ricardo Narvaja para que me
enseara algn camino. Gracias a l pude continuar y no es difcil... Gracias
Ricardo..

Advertencia en OLLYDBG

Abr el programa desempacado (dumpeado_.exe) con el Olly, y me sale un


aviso:

"module 'dumpeado' has entry point outside the code (as specified in the PE
header). Maybe this file is self-extracting or self-modifyint. Please keep it in
mind wen setting breakpoints!!"

Vaya... tiene el OEP fuera del cdigo!?

Despus de darle vueltas a la cabeza puls Alt + M y observ lo que el OllyDBG


me deca:

Adress Size Section Contains

00400000 00001000 PE header

0040100 00005000 EMB0

OEP = 401000

El Olly tiene razn. Pues voy a modificar para que el OEP est dentro del
cdigo. Cierro el OllyDBG.

Para esto utilizo el programa LordPE:

-Lo abro, pulso en PE EDITOR y selecciono el programa dumpeado_.exe. Se


abre una ventana con toda la informacin.

-Veo que en BaseofCode pone 00006000. Lo voy a modificar por 00001000.


Pulso en Save y Ok.

Ahora ya podemos abrir el dumpeado_.exe con el OllyDBG sin ningn


problema. Adems aparece ms informacin importante..

CreateFileMapping, MapViewofFile

Despus de observar el cdigo hay unos saltos importantes que hay que

Pagina 29
Tutorial para editar recursos
Compilado por krc-4u,
conocer: CreateFileMapping, MapViewofFile.. como yo tampoco lo tena muy
claro busqu informacin:
http://www.formauri.es/arrobamasmas/Articulos/indexArticulo.php?art=1

Antes de esto abre un archivo y calcula el tamao.

Ricardo me coment que si en vez de abrir el archivo dumpeado_.exe pongo en


la misma carpeta el original empacado "parche.exe" y le modifico el nombre a
"dumpeado_.exe" el programa funciona perfecto.

As que con todos estos datos me puse manos a la obra:

Obtencin de los datos

Cerr todo programa. Abr el "parche.exe" con el Olly, me puse en el OEP(ya


explicado) y observ dnde "coge" los datos:

Analizndo el cdigo lo vi claro:

1 Abre el archivo "parche.exe"


2 Busca en la direccin B11400, 3A bytes. Mirar:

4010F2 MOV EDI,DWORD PTR DS:[4033F4] -> EDI = B10000


4010F8 ADD EDI,DWORD PTR DS:[4033B5] -> EDI = EDI + 1400 = B11400
4010FE MOV ESI,EDI
401100 MOV ECX,DWORD PTR DS:[4033A7] -> ECX = 3A
401106 MOV EDI,DWORD PTR DS:[4033F8] -> EDI = 146A00
Y un poco ms abajo:

40110D REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]

Es decir, coge 3A bytes de la direccin B11400 y los pone en 146A00.


Solamente hay que saber cmo se ponen en B11400 los bytes, , para resolver
el misterio...porque los datos, ms abajo los toma de 146A00.

Quin pone los datos en B11400?

Bueno.. el programa abre un archivo (l mismo) y luego hace:


CreateFileMapping, MapViewOfFile...
Aqu est el quid de la cuestin... A ver qu hace esto!

Voy a poner un Breakpoint justo despus de MapViewOfFile.


Observo que retorna EAX con un valor = B10000 y si pulso Alt + M veo que se
ha creado una nueva seccin en la direccin: B10000 y pone "parche.exe".
Interesante...

Pagina 30
Tutorial para editar recursos
Compilado por krc-4u,
Voy a ver qu hay en esa seccin.. As que voy a la ventana de dumpeado
pulso botn derecho -> goto -> expresion y pongo 00B10000.
Observo todo el cdigo detenidamente, abro con un editor hexadecimal el
"parche.exe" y veo que es exactamente igual.
Cuando vi esto, ya tuve las cosas bien claras..
Si la direccin de los 3A bytes es B11400 no cuesta nada apreciar que el Offset
es 1400.

Resumen

Resumen de todo esto: el programa copia 3A bytes que tiene en la direccin


(Offset) 1400 y los pone en 146A00. Despus coge los datos de aqu.

Qu pasa en el desempacado?? pues que los datos no estn en esa direccin.


No existen. Esto es posible si el programador ha primero empaquetado su
aplicacin y luego ha modificado el archivo insertando los datos.

Qu voy a hacer para hacer funcionar el archivo desempacado?


Voy a copiar los 3A bytes que estn en el Offset 1400 del archivo original
empacado (parche.exe) y los voy a pegar por ej. en Offset 8300 del archivo
desempacado. Esto lo hago todo y fcilmente con el Ultraedit32.

Ahora solamente queda decirle al programa que lea los datos en 8300 y no en
1400.

Recordando de arriba:
4010F8 ADD EDI,DWORD PTR DS:[4033B5] -> EDI = EDI + 1400 = B11400
Vemos que el 1400 est en 4033B5. As que slo queda sustituir el 14 de
4033B6 por 83. Por supuesto con el editor hexadecimal.

Con todo esto resuelto voy a ejecutar mi programa:

Y compruebo que funciona bien.

Pagina 31
Tutorial para editar recursos
Compilado por krc-4u,

Ahora se puede ya modificar todo con un editor de recursos. Extrao es que el


Resource Hacker no me deja pero el Exescope y el XN Resource s.

Direccin Web y correo:

Una cosa curiosa que podis hacer es que si queris cambiar la direccin Web o
el correo electrnico, solamente hay que modificar con un editor hexadecimal
esto comentado y listo.

No quera extenderme tanto, pero ya he comentado en este amplio tutorial que


modificar un programa puede ser muy trabajoso, y con este ltimo ejemplo ha
quedado demostrado..

Consideraciones finales sobre Embryo Patcher v.1.2:

Despus de utilizarlo unas cuantas veces observ que el programa tiene algn
bug y se cierra no s por qu. (Con el archivo original.)

Tambin al traducirlo observ que el lmite de cambios de 2 archivos es 255.


Pienso que hay muchos y mejores programas que este, lo comento por si
alguien aprovechando este tutorial quiere utilizar el Embryo Patcher.

Por ej. el programa CodeFusion 3.0 tiene muchas ms opciones y el parche


generado, si uno no quiere, no sale empacado y por lo tanto es posible
modificar los recursos sin hacer todo esto...

EJEMPLO 3

Probablemente este sea el penltimo/ltimo ejemplo porque pienso que est


todo bien explicado.. Aunque he puesto ejemplo 3 (por continuar de la misma
forma), en realidad son ideas que pueden solucionar alguna dificultad.

Modificar tamao de una cadena de texto:

Como se ha observado, si podemos abrir el programa con un editor de recursos


y modificamos cualquier texto, dndole un tamao diferente, el editor de
recursos hace las modificaciones pertinentes para ajustar el nuevo texto al
programa.

El problema viene, generalmente, cuando no podemos abrir con el editor de


recursos ese texto que queremos modificar y tenemos que editarlo desde un
editor hexadecimal.

Por ej. es posible encontrar "Help" que queremos traducir por "Ayuda" que
tiene un byte ms.

Qu podemos hacer?

Pagina 32
Tutorial para editar recursos
Compilado por krc-4u,

Lo primero es conocer cmo se guardan esos datos. Si se abre un programa


con un editor hexadecimal y se buscan esas cadenas ya comentadas podemos
encontrar por ej. esto:

. .G.I.F...v.e.r.s.i..n...i.m.a.g.e.n.

Esos "." no corresponden al punto. Voy a coger por ej. esto:


"..v.e.r.s.i..n." y su hex: "0E 00 76 00 65 00 72 00 73 00 69 00 F3 00 6E 00".

Es fcil observar que el 0E corresponte al nmero de bytes (de 76 al ltimo 00)


y los dems nmeros (excepto 00) corresponden a las letras de "versin".

Tambin he encontrado programas que en vez de 0E vers un 07 y es el


resultado de la longitud de la cadena "versin".

Pueden haber otras combinaciones, pero es fcil razonarlo.


Sabiendo esto podemos encontrarnos con un programa as:

..o.r...h.e.l.p. -> 04 00 6F 00 72 00 08 00 68 00 65 00 6C 00 70 00
Sencillamente se puede modificar y dejarlo as:

..o...a.y.u.d.a. -> 02 00 6F 00 0A 00 61 00 79 00 75 00 64 00 61 00

El nmero total de bytes en los dos es: 10 (hex) -> 16 (dec) esto es lo
importante.

Otras formas:

-Tambin es posible encontrar tras los datos muchos bytes a 00. A veces, es
posible utilizarlos ya que y segn qu casos el programa no los va a modificar.
Otras veces en cambio, y por experiencia, el programa utiliza esas direcciones
para guardar datos temporalmente y estropea nuestro trabajo.

-En algn caso he tenido algn programa en el que s es posible modificar un


texto con el Resource Hacker pero no otro texto que no lo puede abrir..
Abriendo el programa con un Editor Hexadecimal vi que los 2 textos se
encontraban prximos.

Qu hice?

Pues con el Resource Hacker modifiqu ese texto que me dejaba editar y le
puse bastantes caracteres, con lo que consegu bytes libres para cambiar el
otro texto.

Si alguien observa alguna cosa que debiera modificar o aadir o algn enlace
roto, mandarme un mp.

Pagina 33
Tutorial para editar recursos
Compilado por krc-4u,

Un saludo a todos.

Ejemplo 4

Este siguiente ejemplo es una buena forma de crackear un programa con una
limitacin de tiempo con Resource Hacker.

Se puede apreciar cmo, intentamos eliminar una ventana que nos informa de
la limitacin de tiempo de 15 das, y obtenemos un error. Para saber lo que
sigue debemos leer este magnifico tute.

El tute ha sido realizado por apokliptiko (Cracks Latinos), y lo he encontrado en


la pgina de Ricardo Narvaja en formato pdf. Si falla este enlace se puede
descargar en la pgina ya mencionada en Curso Nuevo y nmero 781-.
Volvindonos invisibles.

Descarga directa:
TUTE

Ejemplo 5

Insertar imgenes en Delphi

Bueno hace bastante tiempo que sigo detrs de este ej.


Si habis ledo el tute, antes de acabar pongo un ejemplo que encontr en el
archivo ayuda del Resource Hacker de cmo insertar una imagen despus de
haberla insertado como recurso en un programa que hubiese sido compilado en
C:

Si habis probado con otros programas la cosa es bastante diferente.


Por ej. si abrir con el Resource Hacker un programa compilado con Delphi, el
cdigo que mencion arriba no vale. Entonces, cmo es posible insertar una
imagen en un programa creado en Delphi?

Para verlo, lo primero descargar este programa que he hecho en Delphi:


Descargar

Si se ejecuta el programa se observa lo siguiente:

Pagina 34
Tutorial para editar recursos
Compilado por krc-4u,

Aparece una imagen, con unas bandas de colores. El tamao de la imagen es


32 x 32.

Vamos a abrir el programa con el Resource Hacker a ver dnde est esa
imagen.

La imagen la encontramos en RCData --> Tform1

y se encuentra en el cdigo como:

Cdigo:
object Image1: Timage
Left = 136
Top = 64
Width = 32
Height = 32
AutoSize = True
Picture.Data = {

Es decir en Picture.Data est el valor que corresponde a la imagen.

He de decir en este punto, que he intentado desde hace ya bastante tiempo de


todo: He insertado como recurso una imagen, pero desde el cdigo soy incapaz
de llamarla, porque al compilar con el Resource Hacker tiene bastantes
limitaciones.

Si alguien consigue hacer esto ser todo odos...

No voy a explicar los valores en hexadecimal del Picture.Data, porque hara


esto extenssimo, as que he creado una aplicacin que genera
automticamente el cdigo Picture.Data, para poder insertar la imagen que
nosotros queramos.

El programa que he creado y con el que voy a seguir este tute se puede
descargar de aqu:

ResCode Imagen

Pagina 35
Tutorial para editar recursos
Compilado por krc-4u,
De momento estoy mejorndolo, y probablemente lo vuelva a escribir de nuevo
ya que cuando los archivos de imagen son muy grandes tarda un poco de
tiempo en generar cdigo.

Las limitaciones (de momento) del programa son:

-Genera cdigo slo para archivos .bmp

-Genera cdigo slo para archivos de menos de 350.000 bytes

Con el tiempo lo modificar.

Lo que voy a hacer ahora es en el programa modificar la imagen: object


Image1 por la siguiente imagen:

Si se copia la imagen y se guarda, el formato es convertido a jpg aunque se


ponga extensin .bmp y el programa generar un error.

(Estoy poniendo muchas descargas, alguna eliminar). Descarga del archivo


.bmp original:

Descarga

As que voy a generar el cdigo con mi programa. Guardo la imagen anterior en


mi disco duro, ejecuto ResCode Imagen 1.0.1 y en el botn de los 3 puntos,
selecciono la imagen.

Tras esto pulso en "Generar cdigo", y se observa lo siguiente:

Pagina 36
Tutorial para editar recursos
Compilado por krc-4u,

Ya tengo el cdigo generado, slo queda pulsar en "Seleccionar todo", y


pulsamos botn derecho y copiar.

Vamos al Resource Hacker y lo pegamos y sustituimos por cdigo anterior.

Compilo Script y guardo el nuevo .exe creado y el resultado es:

Si alguien observa alguna cosa que debiera modificar o aadir o algn enlace
roto, mandarme un mp.

Un saludo a todos.

Pagina 37

También podría gustarte