Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: ELDORADOV8 en 24 Mayo 2009, 17:32 pm



Título: no puedo cambiar color de fondo
Publicado por: ELDORADOV8 en 24 Mayo 2009, 17:32 pm
Estimado karmy,

Gracias a los tutes, podemos cambiar facilmente colores de fondo en formularios:

Delphi, con reshacker
Visual Basic con, Vbrestorator u decompiler

¿Pero y en visual C++ 6.0?, ¿Como podemos cambiar el color de fondo de una ventana?

Ejemplo:
http://www.filefactory.com/file/ag176gf/n/8_EXE (http://www.filefactory.com/file/ag176gf/n/8_EXE)
mirror:

http://www.easy-share.com/1905347172/8.EXE (http://www.easy-share.com/1905347172/8.EXE)

Gracias cualquier idea


Título: Re: no puedo cambiar color de fondo
Publicado por: karmany en 25 Mayo 2009, 22:27 pm
En Visual C++ yo creo que no se puede cambiar desde la edición de recursos, así que te tocará hacer un injerto.

Mira, la forma de modificar el fondo de un formulario en Visual C++ (con API) es capturando el mensaje: WM_CTLCOLORDLG
Como ya sabes, para la captura de mensajes se suele utilizar en C++ y Windows lo siguiente:
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

Capturando WM_CTLCOLORDLG y modificando el color de fondo, se hace así:
WM_CTLCOLORDLG:
CreateSolidBrush, 00876540h
retorno

En los mensajes de Windows:
136h =  WM_CTLCOLORDLG

Resumiendo: (Es mi forma de verlo, seguramente a otro se le ocurra algo diferente o más fácil) Tendrás que localizar WndProc y probar a hacer un injerto comparando el mensaje enviado. Te puede ayudar por ejemplo el primer mensaje que se suele capturar, que es: 110h =  WM_INITDIALOG.

He buscado algún ejemplo por la red usando WM_CTLCOLORDLG y he encontrado uno que seguramente te ayude, escrito en ensamblador. Así te puedes hacer una idea de cómo se modifica el fondo. Lo puedes descargar de aquí:
http://www.zshare.net/download/5207310700a4d6b7
El autor del ejemplo es un tal zuqo.


Título: Re: no puedo cambiar color de fondo
Publicado por: ELDORADOV8 en 26 Mayo 2009, 04:54 am
Muchas gracias por tu ayuda, karmy, llegare hasta donde pueda, ya que es un poquito avanzado para mi.