OLá galera, Na tentativa de criar worms inteligentes, uma das primicias é fazer com que ele check a conexão do PC infectado com a Internet. Há algumas semanas anteriores apresentei um Engine Viral que testava o tipo de conexão, USANDO A FUNÇÃO InternetGetConnectedState da API WININET (DELPHI7). E por meio dele tentava verificar se o PC infectado estava conectado com a Internet. Mas depois de muito avaliar o Engine, ele possui uma Falha. ELE SÓ VERIFICA SE O PC ESTA CONECTADO HA ALGUM OUTRO SISTEMA! Situações avaliadas no Engine Viral que testa Conexão:
1- SE FOR POR MODEM - DA PRA DIZER SE ESTA CONECTADO OU NÃO A INTERNET 2- SE FOR PROXY - DÁ PRA DIZER SE ESTA CONECTADO AO PROXY MAS NÃO GARANTE SE Há CoNEXÃO COM A INTERNET 3- SE FOR POR LAN - DA PRA DIZER QUE O PC INFECTADO ESTA CONECTADO HA UMA REDE , MAS NÃO DÁ PRA GARANTIR QUE A REDE ESTA CONECTADA A INTERNET. COM ISSO O WORM IRÁ FALHAR! Mas pesquisando, encontrei a a função: InternetCheckConnection da API: Wininet O Código que irei apresentar é 100% garantido, so que tem um problema, ele faz uma espécie de ping em uma determinada URL e isto produz uma demora! Que pode ser demorada demasiadamente, dependerá muitodo sistema infectado. e outra coisa que notei, este sensor Viral na maioria das vezes força uma conexão, o que pode fazer com que o Worm seja PLOTADO! Segue o código(Delphi 7): unit Unit1; interface uses Windows, Wininet , Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin if InternetCheckConnection('http://www.vxbrasil.com/',1,0) then showmessage('O PC Infectado está Conectado!') else showmessage('O PC Infectado esta Desconectado!'); end; end. Somente usei um TButton e declarei a api WinInet na seção Uses. Pergunto se aguém sabe usar os parametros do InternetCheckConnection para não forçar uma conexão, se o PC Infectado não estiver conectado? -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html