Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: sch3m4 en 14 Junio 2005, 16:17 pm



Título: Cambiar icono a un ejecutable
Publicado por: sch3m4 en 14 Junio 2005, 16:17 pm
Hola, esta vez me dirijo a ustedes para plantearos dicha cuestión. Alguien sabe cómo puedo cambiar el icono a un ejecutable? Qué apis debo usar... He buscado por msdn pero no encontré mucho, y en google tampoco  :-\


Título: Re: Cambiar icono a un ejecutable
Publicado por: byebye en 14 Junio 2005, 22:27 pm
BeginUpdateResource, cuando leas la documentacion sobre ella te nombrara las que faltan.


Título: Re: Cambiar icono a un ejecutable
Publicado por: sch3m4 en 15 Junio 2005, 21:08 pm
Gracias  :D

He buscado info, y me he codeado este código:

Código:
#include <stdio.h>
#include <windows.h>

void main()
{
FILE *icono;
int size,i;
char *buffer;

/*el handle para cambiar saber a qué fichero queremos cambiarle el icono*/
HANDLE hicono=BeginUpdateResource("C:\\nc.exe",FALSE/*no borramos el icono original*/);

/*VAMOS A CALCULAR EL TAMAÑO PARA EXTRAER LOS DATOS*/
icono=fopen("C:\\icono.ico","rb");
fseek(icono,0,SEEK_END);size=ftell(icono);

/*creamos el buffer*/
buffer=(char *) malloc(ftell(icono)*sizeof(char));

/*METEMOS EL ICONO EN EL PUNTERO*/
fseek(icono,0,SEEK_SET);

//leemos
i=fread(buffer,1,size,icono);
buffer[i]='\0';
fclose(icono);

/*TENEMOS:
- Tamaño del fichero (size)
- El fichero cargado en la memoria (buffer)
*/

//miramos si todo está bien
if(hicono==NULL)
{
printf("\n[x] Error en el handle del icono");
free(buffer);
CloseHandle(hicono);
return;
}

UpdateResource(hicono, //el handle al fichero
RT_ICON, //tipo de resource a cambiar
MAKEINTRESOURCE(104), //nombre
MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT), //idioma
buffer, //el buffer con el contenido
size); //el tamaño

/*cerramos y salimos*/
EndUpdateResource(hicono,FALSE/*para guardar los cambios*/);

printf("\n[+] Icono cambiado!");
CloseHandle(hicono);
return;
}

Pero no me cambia el icono y no sé dónde puede estar el fallo  ???


Título: Re: Cambiar icono a un ejecutable
Publicado por: SterilizeD_HasH en 16 Junio 2005, 00:48 am
Usa el IconChanger


Título: Re: Cambiar icono a un ejecutable
Publicado por: byebye en 16 Junio 2005, 01:00 am
esta sección es de programacion, es decir el pregunta con que funcion/es puede cambiar el icono de X programa (claro esta desde su aplicacion).


Título: Re: Cambiar icono a un ejecutable
Publicado por: rimaura20 en 14 Julio 2005, 15:33 pm
Para Visual Basic es muy sencillo que un usuario VB, cambie el icono de una aplicacion en curso, lo único que hay que hacer es seleccionar un icono a cda formulario con la opcion Icon dentra de la tabla de Propiedades(F4), luego al complilar "EXE", en el botón Opciones, aparece una ventana donde podras seleccionar cual de los Formulariostiene el Icono que deseas para tu aplicacion Visual Basic Net, eso es todo. para obtener mas conocimientos comunicarse a rimaura20@hotmail.com ha! y no olvidar ingresar a mi espacio!


Título: Re: Cambiar icono a un ejecutable
Publicado por: Override en 24 Julio 2005, 18:01 pm
En lo personal me interesa este tema, tenía por ahi un código en C que cambiaba el icono de un ejecutable pero lo perdí hace tres días jaja, si encuentro al autor lo posteo para que lo chequeis :), también he visto el código del virus ReDemption de Jacky Qwerty (muerty prefiero decirle:P) donde él lee el fichero con un mapa en memoria y extrae el recurso de un host a infectar y luego se lo coloca... muy interesante.



Título: Re: Cambiar icono a un ejecutable
Publicado por: latoto2009 en 4 Marzo 2014, 10:43 am
Prueba lo siguiente:
1.- Copia el icono en el directorio o carpeta de proyecto para que el compilador lo incruste.
2.- Cambia el directorio del recurso, en este caso del icono, al directorio del proyecto.
3.- Comprueba si en el archivo final el .exe ha modificado su icono. Saludos!