elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Cambiar icono a exe por codigo ASM
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Cambiar icono a exe por codigo ASM  (Leído 6,005 veces)
Monica_Barcelona

Desconectado Desconectado

Mensajes: 34


Ver Perfil
Cambiar icono a exe por codigo ASM
« en: 24 Abril 2010, 22:38 pm »

Hola chikos(K) como andan?

pues bueno estoy buscando como cambiar el icono de une exe (exe que programo yo en masm32) pero por código,lo e encontrado pero me dicen que utilicé programas tipo ResourceHack etc etc yo quiero hacerlo por código


salu2


En línea

[Zero]
Wiki

Desconectado Desconectado

Mensajes: 1.082


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: Cambiar icono a exe por codigo ASM
« Respuesta #1 en: 25 Abril 2010, 00:31 am »

Bueno, he estado buscando en una partición vieja éste code que daba por hecho que había perdido  :P. Es una traducción de un code en C de Tughack para FASM que hice hace tiempo:

Código
  1. format PE GUI 4.0
  2. entry start
  3.  
  4. include 'C:\fasm\include\win32ax.inc'
  5. include 'C:\fasm\include\api\kernel32.inc'
  6. include 'C:\fasm\include\api\user32.inc'
  7.  
  8. struct GRPICONDIRENTRY
  9.        Reserved1               dw ?
  10.        ResourceType            dw ?
  11.        ImageCount              dw ?
  12.        iWidth                  db ?
  13.        iHeight                 db ?
  14.        Colors                  db ?
  15.        Reserved2               db ?
  16.        Planes                  dw ?
  17.        BitsPerPixel            dw ?
  18.        ImageSize               dd ?
  19.        ResourceID              dw ?
  20. ends
  21.  
  22.  
  23. section '.data' data readable writeable
  24. ;Proc ChangeIcon
  25. hFileIcon           dd                          ?
  26. hUpdateRes          dd                          ?
  27. FileIconSize        dd                          ?
  28. Buffer              dd                          ?
  29. grIcon              GRPICONDIRENTRY             ?
  30. BufferSize          dd                          ?
  31.  
  32.  
  33.  
  34.  
  35. section '.code' code readable executable
  36.  
  37. start:
  38.       ;stdcall ChangeIcon,szExeFileName,szIconFileName
  39.       ret
  40.  
  41. proc ChangeIcon,nExeFile,nIconFile
  42.     invoke BeginUpdateResource,[nExeFile],TRUE
  43.     mov [hUpdateRes],eax
  44.  
  45.     invoke CreateFile,[nIconFile],GENERIC_READ,0,0,OPEN_EXISTING,0,0
  46.     mov [hFileIcon],eax
  47.  
  48.     invoke GetFileSize,[hFileIcon],0
  49.     mov [FileIconSize],eax
  50.  
  51.     invoke GlobalAlloc,GPTR,[FileIconSize]
  52.     mov [Buffer],eax
  53.  
  54.     invoke ReadFile,[hFileIcon],[Buffer],[FileIconSize],dwBytes,0
  55.     invoke CloseHandle,[hFileIcon]
  56.  
  57.     add [Buffer],22
  58.     sub [FileIconSize],22
  59.  
  60.     invoke UpdateResource,[hUpdateRes],RT_ICON,1,0,[Buffer],[FileIconSize]
  61.     invoke RtlZeroMemory,grIcon,22
  62.  
  63.     mov [grIcon.ResourceType],1
  64.     mov [grIcon.ImageCount],1
  65.     mov [grIcon.iWidth],32
  66.     mov [grIcon.iHeight],32
  67.     mov [grIcon.Planes],2
  68.     mov [grIcon.BitsPerPixel],32
  69.     push [BufferSize]
  70.     pop [grIcon.ImageSize]
  71.     mov [grIcon.ResourceID],1
  72.  
  73.     invoke UpdateResource,[hUpdateRes],RT_GROUP_ICON,1,0,grIcon,22
  74.     invoke EndUpdateResource,[hUpdateRes],FALSE
  75.     invoke GlobalFree,[Buffer]
  76.     ret
  77. endp                      
  78.  
  79. section '.idata' import data readable writeable
  80.  
  81.  library kernel32,   'KERNEL32.DLL',\
  82.                  user32,     'USER32.DLL'
  83.  
  84.  

Creo recordar de funcionaba  :-\.

Saludos

Edito: Revisando el mensaje me di cuenta de que no es lo que querías  :xD. Para cambiar el icono de TU exe basta con meterlo en un resource. Yo utilizo Radasm o Masmed como IDE's, que tienen editor de recursos incorporado y cambias el icono con un par de clicks.


« Última modificación: 25 Abril 2010, 00:34 am por Hacker_Zero » En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
Monica_Barcelona

Desconectado Desconectado

Mensajes: 34


Ver Perfil
Re: Cambiar icono a exe por codigo ASM
« Respuesta #2 en: 25 Abril 2010, 18:30 pm »

Hola Hacker (K) ^^ gracias por tu respesuta,el rpoblema es que nose como incrustar recursos i otra cosa,me gustarica hacerlo por codigo,es para desde un ejecutable cambiar el icono de otro ejecutable :P


un saludo (K)
En línea

[Zero]
Wiki

Desconectado Desconectado

Mensajes: 1.082


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: Cambiar icono a exe por codigo ASM
« Respuesta #3 en: 25 Abril 2010, 21:49 pm »

Si quieres hacerlo por code puedes utilizar el código que te puse arriba, debería funcionar. No te llevará demasiado trabajo pasarlo a MASM  :P.

Saludos
En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
Monica_Barcelona

Desconectado Desconectado

Mensajes: 34


Ver Perfil
Re: Cambiar icono a exe por codigo ASM
« Respuesta #4 en: 25 Abril 2010, 21:52 pm »

Vale,voi a probar aver que tal sale


un beso y gracias Hacker_zero ya te contare como me a ido

EI: juntando mensajes.

Hei hacker_Zero,alfinal me decidi por no hacerlo por codigo y lo hice con recursor,me salio uy bien ^^ pero me surje una duda a rraiz de eso,si por ejemplo en el recurso pongo un RCDATA por ejemplo un exe,despues como pueod estraer ese exe desde el ejecutable en que este incrustado??



salu2

EI: juntando mensajes, la proxima borro.

Bueno ya no hace falta,encontre un codigo que hace eso en ASM,de todas formas gracias por tu ayuda (K)


saludos
« Última modificación: 26 Abril 2010, 14:52 pm por Eternal Idol » En línea

[Zero]
Wiki

Desconectado Desconectado

Mensajes: 1.082


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: Cambiar icono a exe por codigo ASM
« Respuesta #5 en: 26 Abril 2010, 15:28 pm »

Nada  ;)
En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
Riki_89D


Desconectado Desconectado

Mensajes: 851


BCN CITY


Ver Perfil
Re: Cambiar icono a exe por codigo ASM
« Respuesta #6 en: 26 Abril 2010, 21:29 pm »

Bine eshoo
« Última modificación: 26 Abril 2010, 21:51 pm por Riki_89D » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cambiar codigo en Linux
GNU/Linux
calerji78 2 3,151 Último mensaje 24 Marzo 2011, 19:30 pm
por c0d3rSh3ll
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines