jueves, 3 de noviembre de 2011

Extraer icono de un .exe

¿Alguna vez han querido extraer un icono desde un ejecutable de Windows?

Primero deben instalar icoutils, en mi caso ya venía instalado, pero para los que no

    sudo apt-get install icoutils

Ahora deben ubicar el .exe en cuestión. A modo de ejemplo, en mi caso se trataba de StarCraft.exe ubicado en .wine/drive_c/Archivos\ de\ programa/Starcraft/. Luego con la función wrestool obtienen la información dentro del archivo.

    cd .wine/drive_c/Archivos\ de\ programa/Starcraft/
    wrestool -l StarCraft.exe 

Esta llamada retorna algo así

    --type=9 --name=113 --language=1033 [type=accelerator offset=0x2ebbd8 size=80]
    --type=12 --name='CURSOR_LINK' --language=1033 [type=group_cursor offset=0x2eb7b0 size=20]
    --type=14 --name=102 --language=1033 [type=group_icon offset=0x2ea9c0 size=174]
    --type=14 --name=103 --language=1033 [type=group_icon offset=0x2eae80 size=34]
    --type=16 --name=1 --language=1033 [type=version offset=0x2eaea8 size=808]

Lo importante es encontrar el nombre de los tipo group_icon (los iconos, aunque no lo crean). Finalmente extraen el icono, en este caso de nombre 103 y lo guardan como un archivo aparte usando el operador >.

    wrestool -x -n 103 StarCraft.exe > StarCraft.ico

Si no les sirve esa extensión, pueden abrirlo con algún editor de imágenes y cambiarlo a gusto.

Mi icono final.

Un resumen genérico de las instrucciones:

    cd <rutadelarchivo.exe>
  wrestool -l <nombredelarchivo.exe> 
  wrestool -x -n <nombredelicono> <nombredelarchivo.exe> > <nombredeliconodestino.ico>

Ojalá les resulte todo bien.

No hay comentarios:

Publicar un comentario