Blog de Enrique

¿Quién se robo mis focos?

HowTo’s KeyLogger

Proximamente estara listo un tutorial de como escribir un keylogger para windows, estara dividido en tres partes, la primera ya esta publicada aqui.

Para los que no sepan, un Keylogger es un programa que registra todos los tecleos del sistema, y en este caso el tutorial nos enseñara como hacer uno para Windows.

En las proximas semanas estaran listas las siguientes dos partes ya que son algo extensas.

Espero que lo disfruten y por favor haganme llegar sus comentarios al respecto.

Link: Howto KeyLogger Parte 1

Tags: ,



5 Responses to “HowTo’s KeyLogger”

  1. mikehc Says:

    Nice, Se puede hacer esto con c#?? por ahí estuve investigando y al parecer no del todo. Encontré este ejemplo, http://zeeohemgee.blogspot.com/2006/04/creating-global-keyboard-hook-in-c.html, que al parecer es un comienzo para un keylogger. Me gustaría saber cual es la diferencia entre este tipo de keylogger que estas haciendo tu, y el que manejan en la página.

    Saludos!

  2. Enrique Noriega Says:

    Pues, para este caso especifico, si se puede, sin embargo yo le veo dos inconvenientes de hacerlo con .NET:

    1. La documentación de MSDN de las funciones necesarias para hacer los hooks esta en C

    2. Es mejor hacerlo con C para comprender bien como es que funciona, ademas con el HowTo se van a cubrir mas conceptos, como el de como crear la DLL, como crear un servicio de Windows, el uso de memoria compartida entre procesos, etc.

    3. Con .NET nomas puedes registrar 2 tipos de hooks globales: el del teclado y el del mouse, como dice ese blog. Con C puedes registrarlo para todos los eventos.

    3. Y la mas importante: Necesitas tener el Framework instalado para que funcione, si lo haces con C, puedes instalarlo en cualquier pc con windows con que sea NT para arriba.

    EL Keylogger del blog utiliza el mismo principio, de hecho usa las mismas funciones por medio de InterOp Services, en este caso casi no se nota pero cuando usas InterOp dependiendo de los tipos de datos tienes que hacerle Marshalling a las variables.

    Al principio de ese articulo menciona que la mayoria de los ejemplos de hooks globales con .NET se hacen un un “Un managed DLL”, que consiste en poner la logica del hook en un DLL escrito en C (o cualquier otro lenguaje con acceso directo a la API de Win32). Con lo que se va a cubrir en la parte dos del HowTo podrias hacer precisamente esto, crear un programa con .NET que consuma la DLL programada en C.

    Y ultimo pero no por eso menos importante, el HowTo esta orientado a crear un servicio de windows y el ejemplo de ese blog esta hecho en una aplicacion normal.

    Teoricamente se puede hacer el mismo keylogger con C#, solo que necesitarias que tu “victima” tenga el framework instalado, fuera de eso puedes replicar toda la funcionalidad.

  3. mikehc Says:

    Damn!! Entonces estaré checando muy de cerca el How To. Con cuanta regularidad piensas actualizar?

  4. How-To: Como hacer un keylogger at mikehc Says:

    [...] lo hace con c++ y la ayuda de Visual Studio. Siguele Enrique en verdad que se ve muy interesante. Aqui pueden dejarle sus dudas y aca la primera parte del How-To. Damn ya me están dando ganas de crear [...]

  5. Enrique Noriega Says:

    Pues espero subir una parte por semana, asi que la segunda debera estar arriba por ahi del lunes o martes, en lo que termino de pulir algunos detalles. Por cierto, la segunda parte es la mas interesante y la mas importante =P

Leave a Reply