Download - Manual Resource Hacker
aun k es un poco largo , pero si lo leen veran k con practika sera mas facil..
y bueno, esto lo puse en hackphreik hace tiempazo, pero lo pongo aca tmb, para ke no se me
pierda entre tantos Pos t 8)
INTRODUCCIÓN
RESOURCE HACKER versión 3.4.0.79
Su página oficial es: http://www.angusj.com/resourcehacker/
Viendo que hay mucha gente interesada en editar el idioma y las características de los
programas y observando que no he encontrado un tutorial específico de este programa por la
red, he decidido intentar hacerlo yo.
Mi intención es explicar el programa desde cero, y al final poder llegar a algunos aspectos
interesantes.
Con el “Resource Hacker” podremos cambiar el idioma a los programas, editar los textos,
menús, cambiar los iconos e imágenes, la posición, el tamaño y algunas características de las
ventanas emergentes… en fin, cambiar muchísimas cosas de la aplicación.
Con la edición de textos cambiaremos aparte del contenido, el color, el subrayado, etc…
Se pueden editar muchas cosas, que es lo que fascina a muchos usuarios avanzados y hacer
cambiar algunas de las funciones del programa. Pero para esto hay que saber cuales son los
códigos admitidos y dónde insertarlos…
En fin, un programa que seguro que va a quitar muchas horas de sueño a muchos.
Lo podéis descargar de aquí traducido al español (el tutorial lo he hecho con esta versión):
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 es copiar el archivo
“ResHacker.exe” y lo pegamos por ejemplo en el escritorio. Yo le he cambiado el nombre para
no equivocarme: “copia.exe”.
Antes de comenzar quiero añadir: “Como todos sabemos, los programas son propiedad de
sus desarrolladores y éstos conceden autorización para el uso de sus aplicaciones bajo unas
condiciones o términos que, normalmente, vienen reflejados en la Licencia del programa. Si
en la citada licencia viene expresamente prohibido la traducción del programa, debemos de
abstenernos de confeccionarla, salvo que solicitemos (y obtengamos) la pertinente
autorización de aquellos que legalmente estén capacitados para concederla.”
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 también una sencilla barra de herramientas:
Archivo, Editar, Ver, Acción, Ayuda.
Esto no merece más explicación, no voy a adentrarme en todos sus submenús, ya se irán
viendo.
El programa puede abrir archivos .exe .dll .ocx .cpl .scr y .res. Archivos ejecutables win32.
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 lenguaje de
programación con el que han sido creados (Visual Basic, C++ , Delphi, etc..), por lo tanto, no
encontraremos las mismas carpetas en otros programas diferentes, pero sí similares dentro de
un mismo lenguaje de programación. Estas carpetas contienen lo que el programa llama
recursos (importante):
“Los recursos son elementos de interfaz que proporcionan información al usuario. Los mapas
de bits, los iconos, las barras de herramientas y los cursores son recursos.”
Con este programa pues, lo que hacemos es modificar, eliminar… o cambiar los recursos
(Resource Hacker). Si un recurso no lo encontramos dentro de las carpetas de la izquierda, con
este programa no lo podremos modificar y algunos recursos que estén no se podrán tampoco
variar.
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(ResHacker.exe), vamos a ayuda --> acerca de…y encontraremos un .gif.
Cursor y Cursor Group:Son los cursores que hay en el programa. Como ejemplo, pon el
puntero del ratón entre la línea 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 imágenes que el
programa utiliza. Como ejemplo abrimos la carpeta Bitmap y vamos a SMALLICONS y pulsamos
en 0. Ahí encontramos las imágenes de carpeta cerrada, abierta y la imagen de color amarilla o
blanca de si estamos viendo un recurso o no
String Table:Son las frases que aparecen cuando el programa identifica algún error, problema
o indica algún 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í están los cuadros de diálogo. Este apartado es característico de los programas
realizados con Delphi (como el Resource Hacker). Como ejemplo vamos a RCData y a
TABOUTFORM. Ahí encontraremos en la 6º línea Caption = 'Acerca de'. Este “acerca de” es el
título de la ventana que hay en ayuda --> acerca de…
Versión Info:Seguro que se os habrá escapado algún detalle… Cuando pulsáis en el icono del
ejecutable con el botón derecho y seleccionáis propiedades o cuando dejáis el icono del ratón
sobre el icono del ejecutable, veis que muchas veces se indica nombre del programador
versión… etc…pues aquí las tenéis para modificarlas a gusto.
Hasta aquí se ha descrito el contenido de las 9 carpetas, pero como he señalado el “Resource
Hacker” está programado con Delphi, así que con otro lenguaje de programación como el
Visual Basic podemos encontrar aparte de algunas que ya hemos visto las siguientes carpetas:
Dialog:En esta carpeta encontraremos los cuadros del diálogo del programa. Pero lo bueno
que tiene esto es que en nuestro programa “Resource Hacker” aparecerá al lado del botón
“Compilar Script” otro que dice “Mostrar (u ocultar) Diálogo”. De esta forma para modificar el
tamaño de las ventanas, botones etc… podremos hacerlo gráficamente.
Hay algunas carpetas más que aparecen, algunas con números hexadecimales, que si no varías
el número de caracteres normalmente te deja cambiarlo. Otras carpetas contienen también
información importante, pero explicando las ya descritas yo creo que es más que suficiente
para adentrarnos en el programa
----------------------------------------------------------------------------------
¡¡VAMOS A COMENZAR!!
Lo primero abrimos de nuevo el programa “ResHacker.exe”. Vamos a archivo --> abrir y
abrimos el “copia.exe”
GIF y AVI
La primera carpeta que vemos a la izquierda es GIF(o AVI). Aquí aparecen los archivos .gif y .avi
generalmente.
La abrimos al máximo (GIF, 128 y pulsamos en0), 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)
-Podemos guardar el .gif en nuestro disco duro para, por ejemplo, editarlo:
Pulsamos con el botón derecho en el recurso (0) y en el menú que sale, la tercera opción es:
Guardar [GIF : 128 : 0] (esto nos indica el nombre “128”, el tipo “GIF” y el lenguaje “0” del
recurso), pulsamos y la guardamos donde queramos.
-Una vez retocada o cuando tengamos otro .gif que queramos usar, volvemos a pulsar con el
botón derecho y damos a “reemplazar recurso”, en la siguiente ventana señalamos “abrir
archivo con nuevo recurso”, elegimos el archivo .gif que queremos insertar y después 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 extensión) y lo ejecutamos.
Vamos a Ayuda --> acerca de… y veremos cómo ha cambiado el dibujo... ¿curioso verdad?
Ej.
Problemas que he encontrado: dará fallos en la ejecución 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 número de píxeles y el tamaño. Pero es aconsejable que sean similares para poder
verlos correctamente. Yo lo que he hecho ha sido crear una imagen con un programa editor
gráfico (podéis usar el Paint), (podéis si no retocar la imagen del programa o utilizar una
vuestra) y después utilizar un programa para pasar esa imagen a .gif. (Si os sirve de ayuda para
esto último he utilizado el Animation Shop 3).
ICONOS Y CURSORES
En los iconos y cursores la información 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 imágenes relacionadas. Ej.
16 píxeles x 16 píxeles (16 colores)
32 píxeles x 32 píxeles (256 colores) dependiendo del tamaño y resolución del color se utilizará
un icono u otro. Por ejemplo, el icono para ejecutar el programa no tiene el mismo tamaño ni
resolución que el que hay en la esquina superior izquierda de la ventana.
-El “Icon group” contiene la información de un icono: nombre de la imagen, tamaño de la
imagen y resolución del color.
-El “Icon” contiene la imagen real.
Para cambiar un icono: Vamos p.ej. a Icon Group --> MAINICON--> 3081 pulsamos con el botón
derecho y seleccionamos reemplazar recurso. No tiene más complicación. Elegimos el que
queremos (veis que se pueden seleccionar .exe etc…). Ahora podemos ver cómo se ha
modificado “Icon” e “Icon Group”. Para ver los resultados “guardar como” y veréis ya
primeramente cómo ha cambiado el icono para ejecutar la aplicación.
Para cambiar el“Cursor” hacemos lo mismo. Lo que pasa es que aquí he encontrado algún que
otro problema. Alguna vez he intentado cambiar algún cursor por otro que contenía algún
programa .exe, y al ejecutarlo, me ha dado error en la aplicación. Así que si cambiáis algún
cursor ¡probar que os funcione!. Tenéis bastantes cursores en Windows --> cursores y cursor.
Hay también muchas utilidades para crear vuestros propios .cur y utilizarlos.
Os dejo una:
http://www.aha-soft.com/spanish/iconutils/
Bitmap:
Puedes igualmente reemplazar las imágenes. El mejor consejo aquí es que pruebes por
ejemplo en Bitmap --> SMALLICONS y cambies la bmp por otra (botón 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 tamaño. O edita esa .bmp
(para esto tienes que guardarla en es disco duro. Botón derecho y guardar). A mi no me ha
dado ningún problema incluso insertándole imágenes de mucho mayor tamaño y resolución.
En mi ejemplo he “jugado” con las palabras de UpToDown:
Para modificar la información 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 tamaño. Poner por ejemplo “soy (vuestro nombre)”. Ahora le damos al botón de arriba
“Compilar Script”. Si no da ningún 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 botón
derecho y decimos borrar recurso. Veréis lo que sale…
Esto sólo lo hace la primera vez que intentamos borrar un recurso, si aceptamos después ya no
sale.
Hay que saber que:
-No cambiar nada que no haya entre comillas.
-Los símbolos % no hay que borrarlos ni cambiarlos de sitio ni borrar la coma que hay detrás ni
las letras que van detrás pegadas.(%A0)
-El símbolo & significa que la letra que va detrás de este símbolo es el acceso rápido para el
programa. En un mismo menú no puede ir la misma letra. La letra va subrayada.
-Como habréis podido observar hay mucha información que no deja cambiarla al pulsar en
Compilar Script, y abajo sale error, ya explicaré más adelante cómo se cambia. También hay
muchísima información que probablemente no veamos nunca, así que si queréis traducir un
programa mi consejo es que traduzcáis lo imprescindible solamente.
-Para buscar 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 etc…este es el apartado
que más 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 cómo cambiar el texto, así que podéis cambiar el “acerca de“ que hay en la sexta línea
y que es el título de la ventana de ayuda-- acerca de. Pulsáis después Compilar Script, (siempre
que cambiéis algo hay que pulsar Compilar Script) guardar cómo, no olvidar la extensión .exe y
probar la aplicación.
Para variar otras características hay que entender un poco más:
Cada ventana, recurso etc… empieza definido por object y termina por end. Si os fijáis 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 características de la
ventana, algunas de ellas como:
Left = 209, Top = 251, ClientHeight = 205, ClientWidth = 296 que indican respectivamente la
posición en la horizontal, posición 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 “programando” los textos yo
mismo (esto está explicado un poco más abajo). Un valor de ejemplo que podéis compilar es
ClientHeight=2 y veréis cómo cambia la ventana. Si ponéis otros valores y compiláis, el error os
lo dará al intentar ejecutar la aplicación: Error… no es una aplicación win32 válida…
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 líneas indican la posición como he explicado antes. (Aquí no me deja
cambiarlas).
- Cursor = crHandPoint indica el cursor que va a tener cuando pasas el icono del ratón 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 tamaño. Mayor número mayor tamaño.
-Font.Name = ‘Arial’ es el tipo de letra.
-Font.Style = [fsBold, fsUnderline], indica las características del texto: Bold es negrita y
underline es subrayado.
-OnClick = Label3Click activa para que cuando pulsemos (hagamos clic) sobre el texto haga una
determinada función.
Bueno pues viendo lo que tenemos aquí, vamos a hacer nuestra pequeña programación en
texto!! Así podremos poner el texto que queramos y dónde queramos sin que nos dé esos
errores tan molestos de “no es una aplicación win32 válida..!!”:
Lo primero es definir un texto:
“object Label9: TLabel” y ahora le pongo las características 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 tenéis que hacer es insertar todo esto. Yo lo he insertado detrás de “TextHeight =
14”. Como si trabajarais en Word. Luego lo compiláis y probáis la aplicación.
¡Impresionante verdad!.
En este punto yo sé que más de uno se va a animar haciendo muchísimas cosas más, pero lo
dejo en vuestra imaginación.
Dialog:
Como he comentado antes, esta carpeta es característica de programas hechos con Visual
Basic y es muy curioso cómo actúa el programa Resource Hacker con ellos.
Como ejemplo voy a intentarlo con un archivo que espero tenga todo el mundo. Con el
“Resource Hacker” ejecutándose, vamos a darle a abrir y señalamos:
-Disco duro --> archivos de programa --> Windows Media Player --> y el archivo ejecutable:
“setup_wm.exe”.
-Vamos a Dialog --> 51 y pulsamos en 3082. ¿Veis el botón que os he dicho antes?: “mostrar u
ocultar diálogo”.
Pulsadlo para que veáis lo que hace. Pues esa ventana que pone Iniciando descarga, la podéis
modificar a vuestro gusto. Aquí porque no salen botones (botones de aceptar, cancelar etc…),
pero podéis pinchar sobre ellos y modificar la posición como queráis. Además si pulsáis en las
ventanas a editar con el botón derecho sale un menú y podéis insertar control, editar control,
borrar control, editar diálogo y ocultar diálogo. No es muy complicado de manejar así que no
me voy a extender en esto:
¡Después cuando cerréis el Resource Hacker, no guardar los cambios que hagáis!
Por último antes de acabar voy a poner un ejemplo para usuarios avanzados de cómo insertar
una imagen o un icono en programas que tengan Dialog.
Lo primero es buscar un programa que haya sido compilado con Visual Basic, así que me he
decidido por uno muy conocido el emule 0,46 que es la versión que tengo yo.
Vamos a ir a Disco duro --> archivos de programa --> emule y copiamos el archivo “eMule.exe”
y lo pegamos en el escritorio, lo utilizaremos por si nos equivocamos.
Abrimos el programa Resource Hacker vamos a archivo y seleccionamos abrir. Nos dirigimos a
C/archivos de programa/eMule/emule.exe y lo abrimos.
Ahora lo que vamos a hacer es insertar el icono que queremos que aparezca en la ventana.
Para esto seleccionamos en Acción -- Añadir un nuevo recurso. Abrir archivo con nuevo
recurso y vamos a buscar el icono.ico. Por ejemplo hay uno en C/windows/system32/Help.ico
seleccionarlo.
En tipo de recurso ya se tendrá que haber puesto ICONGROUP y en nombre de recurso ponéis
el que queráis: NUEVOICONO he puesto yo. Le dais a añadir recurso. Para ver si está bien
insertado nos vamos a Icon Group y tiene que aparecer nuestro NUEVOICONO (por orden
alfabético).
Ahora nos vamos a ir a la ventana donde queremos insertarlo que en este caso está en: Dialog
--> 315 Pulsáis sobre el 0 y en la parte de la derecha arriba en ocultar diálogo (o cerrar la
ventana). Y ahora vamos a insertar la orden oportuna:
CONTROL “NUEVOICONO”,-1,STATIC, SS_ICON|WS_CHILD|WS_VISIBLE,13,142,21,20
Ponerla donde queráis, yo la he puesto la última. Sobre todo tened cuidado de no borrar el {. Si
la copiáis directamente tal vez os de error de sintaxis las comillas. Deberéis cambiarlas
vosotros escribiéndolas de nuevo.
Tras todo esto pulsamos en Compilar Script y ya tenemos el icono. Lo ponemos donde
queramos, volvemos a compilar y guardamos.
Para ver el resultado, abrimos el emule y vamos a preferencias, ahí estará la ventana con
nuestro nuevo icono:
Espero que todo esto os haya servido de ayuda.
Y para finalizar, una pregunta. Hemos visto que podemos cambiar muchos recursos en
nuestros programas y el Resource Hacker está muy bien porque podemos variar el número de
letras y se puede compilar. Pero ¿Cómo podemos cambiar por ejemplo el título de la ventana
principal?, aparte de otras cosas?..
Pues para ello deberemos utilizar otros programas editores como el Ultraedit 32 que es el que
utilizo yo. Son editores en hexadecimal.
Ultraedit 32. Al abrir el archivo “copia.exe”, vemos un montón de líneas y a la izquierda el
número de línea: 00000000h, 00000010h etc… Debemos buscar en este caso sobre la línea
000aaf70h y veréis a la derecha las palabras: Resource Hacker. Éstas son las palabras que
podemos modificar para cambiar el título de la ventana principal del programa.
CONCLUSIONES
Espero que os haya servido de ayuda este tutorial.
La verdad que hoy día 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 versión
posterior.
Muchas veces habrá que utilizar programas tipo Ultraedit porque el Resource Hacker (u otro
programa similar a este el Exescope) no es capaz de encontrar todos los recursos, incluso
algunos están comprimidos y tendréis que utilizar otros programas. Además normalmente en
el Ultraedit hay que tener cuidado ya que si insertas un bit más el programa no se puede
compilar y dará error. (help en inglés son 4 bits y ayuda en español son 5 bits).
En fin, un trabajo duro.
No puedo explicarte todos estos conceptos porque es algo muy extenso y queda muy alejado
de lo que pretende este post. Si quieres introducirte en estos temas, tienes que empezar por
cosas básicas como entender qué es el lenguaje ensamblador, qué son y para qué valen las API
de Windows, buscar tutoriales de manejo del Olly, e intentar programar tú (algo sencillo por ej.
con el VB).
Sobre todo esto anterior, hay muchísimas páginas en internet. De API yo visito esta:
http://www16.brinkster.com/eduroam/api/default.asp.
PD. Con el tiempo te darás cuenta que esto de traducir programas de esta forma explicada, es
muy trabajoso y poco agradecido.
Espero te haya sido útil todo esto..
Nos vemos
Creditos: sortilegio