Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keylogging Error when Spamming the up key #4349

Closed
SleepTheGod opened this issue Jan 17, 2025 · 1 comment
Closed

Keylogging Error when Spamming the up key #4349

SleepTheGod opened this issue Jan 17, 2025 · 1 comment

Comments

@SleepTheGod
Copy link

Image

Last 35 Keys:
 UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow UpArrow

Exception:
System.ArgumentOutOfRangeException: The value must be greater than or equal to zero and less than the console's buffer size in that dimension.
Parameter name: top
Actual value was -6.
   at System.Console.SetCursorPosition(Int32 left, Int32 top)
   at Microsoft.PowerShell.PSConsoleReadLine.ReallyRender(RenderData renderData, String defaultColor)
   at Microsoft.PowerShell.PSConsoleReadLine.ForceRender()
   at Microsoft.PowerShell.PSConsoleReadLine.HistoryRecall(Int32 direction)
   at Microsoft.PowerShell.PSConsoleReadLine.PreviousHistory(Nullable`1 key, Object arg)
   at Microsoft.PowerShell.PSConsoleReadLine.ProcessOneKey(ConsoleKeyInfo key, Dictionary`2 dispatchTable, Boolean ignoreIfNoAction, Object arg)
   at Microsoft.PowerShell.PSConsoleReadLine.InputLoop()
   at Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics)
-----------------------------------------------------------------------
# Define the path for the log file where errors and key presses will be recorded
$logFile = "C:\Users\$env:USERNAME\Documents\PowerShellKeyLog.txt"

# Initialize a list to store key presses
$history = @()

# Function to log the keys
function Log-Keys {
    param (
        [string]$key
    )
    # Add the key to history
    $history += $key

    # Keep only the last 35 keys
    if ($history.Count -gt 35) {
        $history = $history[-35..-1]
    }

    # Log the keys to the console
    Write-Host "Last 35 Keys: $($history -join ' ')"
}

# Function to log exceptions
function Log-Exception {
    param (
        [string]$message
    )
    # Log exception to the file with a timestamp
    $timestamp = Get-Date
    Add-Content -Path $logFile -Value "$timestamp - ERROR: $message"
}

# Start the key logging process
try {
    while ($true) {
        # Read key input from the user
        $key = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
        Log-Keys -key $key.Character
    }
} catch {
    # Catch any exceptions and log them
    Log-Exception -message $_.Exception.Message
}
@microsoft-github-policy-service microsoft-github-policy-service bot added the Needs-Triage 🔍 It's a new issue that core contributor team needs to triage. label Jan 17, 2025
Copy link

This issue was already fixed (see #1306). Please upgrade to the 2.3.5 version of PSReadLine from PowerShell Gallery.
See the upgrading section for instructions. Please let us know if you run into the same issue with the latest version.

@microsoft-github-policy-service microsoft-github-policy-service bot removed the Needs-Triage 🔍 It's a new issue that core contributor team needs to triage. label Jan 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant