Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Poner Programa en memoria residente

Estas en el tema de Poner Programa en memoria residente en el foro de C/C++ en Foros del Web. Hola!!! Me gustaria hacer un KeyLogger, pero no se como hacer para que un programa se ponga en modo residente, o sea, que no aparezca ...
  #1 (permalink)  
Antiguo 21/09/2012, 07:24
 
Fecha de Ingreso: agosto-2012
Mensajes: 94
Antigüedad: 11 años, 8 meses
Puntos: 7
Poner Programa en memoria residente

Hola!!!

Me gustaria hacer un KeyLogger, pero no se como hacer para que un programa se ponga en modo residente, o sea, que no aparezca en la barra de tareas, ni que genere ventanas, ni nada que revele su presencia.

El KeyLogger en si no me parece muy dificil de hacer, simplemente debe colocar cualquier tecla presionada en un txt. Podria hacerlo muy simple, en SDL, simplemente con el sistema gestor de eventos, y un simple txt.

Bueno, me dais una mano, gracias por todo.

Saludos!
  #2 (permalink)  
Antiguo 21/09/2012, 08:13
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 4 meses
Puntos: 46
Respuesta: Poner Programa en memoria residente

Buenas, el tema de los keyloggers es algo que todo el mundo quiere hacer no se porque, pero todo el mundo los quiere hacer xD.

Vamos a ver unas cuantas cosas, no creo que puedas hacer un keylogger en SDL, y de poderse, no creo que sea la mejor herramienta para hacerlo.
Supongo que si quisieras hacer un keylogger mas bueno tendrias que usar alguna de las APIs del sistema, pero de esto no tengo mucha idea, a ver si hay alguien que sepa mas del tema.


Saludos.
  #3 (permalink)  
Antiguo 22/09/2012, 20:10
 
Fecha de Ingreso: agosto-2012
Mensajes: 94
Antigüedad: 11 años, 8 meses
Puntos: 7
Respuesta: Poner Programa en memoria residente

Nota: Eso de que lo podria hacer en SDL lo puse con un sueño terrible y sin pensar, jeje.

Es que me interesa saber que teclas fueron presionadas en mi teclado en un dia. No tengo intencion de hackear a nadie, ademas, los KeyLogger son facilmente descubribles por los antivirus mas simples.

Pero no sabes lo de la memoria residente? Como colocar un programa en ese sistema, yo decia en SDL por el hecho de que el programa se puede ejecutar sin que aparezca ventana alguna, o eso creo, en realidad, nunca probe, pero si no pongo la funcion de generar ventana, y todas mis funciones son de eventos, bueno, pero es probable que haya alguna manera mucho mas facil.

Saludos!!
  #4 (permalink)  
Antiguo 23/09/2012, 09:57
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 4 meses
Puntos: 46
Respuesta: Poner Programa en memoria residente

Si solo lo quieres para ti mismo supongo que con SDL podras hacer algo, lo que no se es si podras hacer que mientras estes en otro programa tambien detecte las teclas del teclado. A lo mejor hay alguna funcion por ahi, pero no creo ya que es una libreria de videojuegos pero quien sabe.

Ya te digo lo mejor para hacer esto yo creo que seria una de las APIs del sistema, aunque en windows son un dolor de cabeza y no es muy recomendable si no quieres acabar loco o tienes mucha fuerza de voluntad xD.


Saludos
  #5 (permalink)  
Antiguo 23/09/2012, 11:06
 
Fecha de Ingreso: agosto-2012
Mensajes: 94
Antigüedad: 11 años, 8 meses
Puntos: 7
Respuesta: Poner Programa en memoria residente

¿Son muy complicadas? Resistire! /*Pone cara de valiente, lee los libros de cualquier API del sistema y se tira un tiro.*/
  #6 (permalink)  
Antiguo 25/09/2012, 06:42
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 12 años, 4 meses
Puntos: 25
Respuesta: Poner Programa en memoria residente

para ocultar la ventana podes usar el siguiente
Código C:
Ver original
  1. #define _WIN32_WINNT 0x0500
  2. #include <windows.h>
  3. #include <iostream>
  4. int main()
  5. {
  6.     HWND hWnd = GetConsoleWindow();
  7.     ShowWindow( hWnd, SW_HIDE );
  8.    
  9.     return 0;
  10. }

para capturar la tecla que se presiona lei que se recomienda usar setwindowshookex del sistema, pero tendrias que investigar un poco porque yo no entiendo nada de la API de windows

setwindowshookex en msdn

un poco de codigo de ejemplo de setwindowshookex

saludos
  #7 (permalink)  
Antiguo 26/09/2012, 23:20
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Respuesta: Poner Programa en memoria residente

Para poder hacer un keylogger funcional se encesita algo mas que SDL.

Efectiamente necesitas crear un programa residente. Demonios se llaman en Linux.
En windows son sólo procesos.

La creación de uno no es dificil es como crear un pequeño main pero que no se llama main(puedes buscar en la MSDN).

Por otro lado, poder captar la entrada del teclado sin importar la aplicación que estes usando ya es otro rollo. La API de Windows tiene funciones para todo este tipo de cosas, sólo es cuestion de encontrar la adecuada.

Saludos
  #8 (permalink)  
Antiguo 27/09/2012, 10:11
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Poner Programa en memoria residente

Para lo de la teclas presionadas tienes que usar la siguiente API de Windows:
GetAsyncKeyState
En linux no se si se puede hacer. Es mucho mas complejo.

Aca un ejemplo: http://todocporelinv.blogspot.com.ar...-valor-de.html
  #9 (permalink)  
Antiguo 27/09/2012, 12:10
 
Fecha de Ingreso: agosto-2012
Mensajes: 94
Antigüedad: 11 años, 8 meses
Puntos: 7
Respuesta: Poner Programa en memoria residente

Vaya, y yo que creia que esas cosas eran mas faciles en Linux. Pero, porque dicen que no existen virus para linux?

Y lo de la aplicacion, no simplemente deberia captar la tecla presionada antes de que la use para otra cosa?
  #10 (permalink)  
Antiguo 27/09/2012, 13:22
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 4 meses
Puntos: 46
Respuesta: Poner Programa en memoria residente

Bueno lo de los virus para linux depende de varios factores, uno de los mas importantes es que hay mucha menos gente que usa linux, no se si era el 2 o 3 %. Y claro si haces un virus mejor que sea para windows que lo usa el 80% o asi que para linux, lo mismo pasa con mac.
Ademas esta el tema de como funciona linux, mientras en windows necesitas ser administrador para hacer muchas cosas en linux solo lo necesitas para tareas complejas del sistema, un usuario nunca es administrador ni necesita serlo para hacer nada.


Saludos

Etiquetas: keylogger, presencia, residente, sdl, txt
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:18.