Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: HJ ~ en 10 Abril 2009, 16:18 pm



Título: Menú en frente
Publicado por: HJ ~ en 10 Abril 2009, 16:18 pm
Hola, intentare iré al grano.

Ayer estaba probando un cheat de un juego y en la pantalla salía el juego, en pantalla completa, pero abajo de todo salía un menu (Del cheat) que te permitía ver las opciones y tal... bueno, yo lo unico que quiero saber es como podría hacer que cuando ejecutase un programa a PANTALLA COMPLETA pudiera hacer que se autoejecutara una especie de menu que se pusiera por delante del juego a pantalla completa?

Por ejemplio, imaginemos qeu quiero poner un CommandButton arriba de todo el juego, que se yo... cómo se haría? No se si me explico muy bien...

Gracias!!


Título: Re: Menú en frente
Publicado por: xkiz ™ en 11 Abril 2009, 03:02 am
con SetWindowPos podes poner una ventana ensima de otras ejemplo: Always OnTop (http://www.recursosvisualbasic.com.ar/htm/listado-api/api-31.htm)


Título: Re: Menú en frente
Publicado por: HJ ~ en 11 Abril 2009, 13:03 pm
con SetWindowPos podes poner una ventana ensima de otras ejemplo: Always OnTop (http://www.recursosvisualbasic.com.ar/htm/listado-api/api-31.htm)
Gracias, es que no sabía el nombre de la API, pero en un juego, como es en pantalla completa y se ejecuta con Direct3D no lo permite, se sigue quedando atrás, en todo lo demás bien pero el caso es que se quede delante de todo, incluyendo el juego, no habría alguna manera de añadir una DLL que se ejecutara junto al Direct3D para que así no se hiciera un lío en el buffer?

Gracias


Título: Re: Menú en frente
Publicado por: el_c0c0 en 11 Abril 2009, 19:23 pm
con SetWindowPos podes poner una ventana ensima de otras ejemplo: Always OnTop (http://www.recursosvisualbasic.com.ar/htm/listado-api/api-31.htm)
Gracias, es que no sabía el nombre de la API, pero en un juego, como es en pantalla completa y se ejecuta con Direct3D no lo permite, se sigue quedando atrás, en todo lo demás bien pero el caso es que se quede delante de todo, incluyendo el juego, no habría alguna manera de añadir una DLL que se ejecutara junto al Direct3D para que así no se hiciera un lío en el buffer?

Gracias

Yo vi eso en el GTA Vice City CamHack, que estaba hecho en VB6 y mostraba informacion en pantalla y a su vez imprimia un velocimetro todo sobre el D3D. El tema es que tenes que saber donde residen las funciones de escritura en pantalla del programa o juego y luego llamarlas con CallWindowProc (no es tan asi, pero bueno). La otra es obtener el handle del D3D y usar las DLLs de la version que esta ejecutando el juego, sea 8,9,10.

Y bueno sino queda la siguiente: con BitBlt imprimir cada mas o menos 50ms una imagen (como hace el cyber control de lucio perri, al avisarte que te queda poco tiempo) y obtener las teclas presionadas con GetKeyState o un Subclass a la ventana del juego o un Hook global y ver si la ventana activa es la del juego.

saludos


Título: Re: Menú en frente
Publicado por: HJ ~ en 13 Abril 2009, 00:50 am
con SetWindowPos podes poner una ventana ensima de otras ejemplo: Always OnTop (http://www.recursosvisualbasic.com.ar/htm/listado-api/api-31.htm)
Gracias, es que no sabía el nombre de la API, pero en un juego, como es en pantalla completa y se ejecuta con Direct3D no lo permite, se sigue quedando atrás, en todo lo demás bien pero el caso es que se quede delante de todo, incluyendo el juego, no habría alguna manera de añadir una DLL que se ejecutara junto al Direct3D para que así no se hiciera un lío en el buffer?

Gracias

Yo vi eso en el GTA Vice City CamHack, que estaba hecho en VB6 y mostraba informacion en pantalla y a su vez imprimia un velocimetro todo sobre el D3D. El tema es que tenes que saber donde residen las funciones de escritura en pantalla del programa o juego y luego llamarlas con CallWindowProc (no es tan asi, pero bueno). La otra es obtener el handle del D3D y usar las DLLs de la version que esta ejecutando el juego, sea 8,9,10.

Y bueno sino queda la siguiente: con BitBlt imprimir cada mas o menos 50ms una imagen (como hace el cyber control de lucio perri, al avisarte que te queda poco tiempo) y obtener las teclas presionadas con GetKeyState o un Subclass a la ventana del juego o un Hook global y ver si la ventana activa es la del juego.

saludos

Entonces debería programar una DLL que se arrancara con el juego para que no se hiciera un lío en el buffer, verdad?


Título: Re: Menú en frente
Publicado por: el_c0c0 en 13 Abril 2009, 02:04 am
con SetWindowPos podes poner una ventana ensima de otras ejemplo: Always OnTop (http://www.recursosvisualbasic.com.ar/htm/listado-api/api-31.htm)
Gracias, es que no sabía el nombre de la API, pero en un juego, como es en pantalla completa y se ejecuta con Direct3D no lo permite, se sigue quedando atrás, en todo lo demás bien pero el caso es que se quede delante de todo, incluyendo el juego, no habría alguna manera de añadir una DLL que se ejecutara junto al Direct3D para que así no se hiciera un lío en el buffer?

Gracias

Yo vi eso en el GTA Vice City CamHack, que estaba hecho en VB6 y mostraba informacion en pantalla y a su vez imprimia un velocimetro todo sobre el D3D. El tema es que tenes que saber donde residen las funciones de escritura en pantalla del programa o juego y luego llamarlas con CallWindowProc (no es tan asi, pero bueno). La otra es obtener el handle del D3D y usar las DLLs de la version que esta ejecutando el juego, sea 8,9,10.

Y bueno sino queda la siguiente: con BitBlt imprimir cada mas o menos 50ms una imagen (como hace el cyber control de lucio perri, al avisarte que te queda poco tiempo) y obtener las teclas presionadas con GetKeyState o un Subclass a la ventana del juego o un Hook global y ver si la ventana activa es la del juego.

saludos

Entonces debería programar una DLL que se arrancara con el juego para que no se hiciera un lío en el buffer, verdad?
no necesariamente. es mas te diria directamente que no. el vice city camhack que mencione arriba, no es una dll, es un .exe que lee la memoria del juego y maneja datos...

saludos


Título: Re: Menú en frente
Publicado por: HJ ~ en 13 Abril 2009, 16:16 pm
Pues así no debería editar memoria, sino, crear una linea de memoria que se escribiera junto al juego así lo leeria como parte del juego, no?

Saludos


Título: Re: Menú en frente
Publicado por: el_c0c0 en 13 Abril 2009, 23:39 pm
Pues así no debería editar memoria, sino, crear una linea de memoria que se escribiera junto al juego así lo leeria como parte del juego, no?

Saludos
no, asi no funciona. vas a necesitar leer o escribir memoria siempre a menos que las funciones tengan una posicion estatica, pero en fin, da igual. es mas facil hacerlo desde afuera que desde una dll inyectada.

saludos