Ao passo da tecnologia

Primeiramente gostaria de depir as minhas sinceras desculpas no que conserne a minha ausência virtual(rsrsrsrsrsrsrs, tem um pouco haver com que eu vou falar).

Mas estou de volta e com um artigo que tive a ousadia de chama-lo “Ao passo da tecnologia” , isto é, uma forma de mostrar o estágio em que se encontra as Tecnologias de informação.

Este artigo foi inspirado no techmeeting que decorreu na UCAN(Universidade Católica de Angola), e contou com a presença de muitos alunos com destaque aos alunos de engenharia informática da mesma.
Techmeeting foi liderado pelos Engenheiros Michele Tosato e Frei Hangalo para quem agradeço pela a oportunidade que deu-nos de obter mais conhecimentos e aproveito estender os meus comprimentos para o Michele Tosato pelas dicas e ensinamentos que tenho a certeza que nos serão muito uteis de agora em diante(Thank you,obrigado).

O tech teve como focus a Virtualização e Cloud Computing(Computação nas nuvens). O tech girou em torno da plataforma Linux (Para quem ainda não usa linux aconselha-se a usar urgentemente).

Virtualização

Ao falar em virtualização, é inevitável que a maioria das pessoas a associem à ideia de vários sistemas operacionais rodando na mesma máquina. Esse é, na verdade, um dos diversos tipos de virtualização: a de hardware. Se por um lado ela não é a única, por outro é, certamente, a mais perceptível.

O presente artigo contempla os aspectos triviais da virtualização, com noções conceituais, aplicações práticas e sua forma de interação com o usuário final.

A VIRTUALIZAÇÃO EM SI

Para entender perfeitamente o conceito da tecnologia, deve-se traçar um paralelo entre o que é real e o que é virtual. Seguindo essa linha de raciocínio, algo real teria características físicas, concretas; já o virtual está associado àquilo que é simulado, abstrato. Dessa forma a virtualização pode ser definida como a criação de um ambiente virtual que simula um ambiente real, propiciando a utilização de diversos sistemas e aplicativos sem a necessidade de acesso físico à máquina na qual estão hospedados.

Isso acaba reduzindo a relação de dependência que os recursos de computação exercem entre si, pois possibilita, por exemplo, a dissociação entre um aplicativo e o sistema operacional que ele utiliza (já imaginou acessar o Microsoft Word através do Linux?).

E qual é a vantagem?

Prioritariamente, econômica. Com a iminente crise ambiental global (principal fomentadora da TI verde) e a crescente necessidade de diminuir o desperdício de recursos (incluída aí a energia elétrica), não há nada mais natural que o surgimento de alternativas para otimizar o uso de tais recursos.

Agora pense em um computador no qual opere um servidor de e-mails: mesmo que o disco rígido seja plenamente utilizado, não se pode dizer o mesmo sobre sua capacidade de processamento: enquanto ela pode chegar ao ápice em horários de pico (como às 15h), também pode se aproximar da ociosidade durante a madrugada. E se essa “sobra” fosse usada para gerar relatórios, aproveitando melhor o tempo e processamento livres? Na teoria, surtiria a tão desejada economia de recursos; na prática, isso é obtido através da virtualização.

OS TIPOS DE VIRTUALIZAÇÃO

Virtualização de HardwareComo mencionado no começo da matéria, a virtualização de hardware consiste em rodar vários sistemas operacionais na mesma máquina. Isso é possível com o uso de programas específicos, que geram máquinas virtuais (Virtual Machines, ou VMs): estas emulam os componentes físicos de um PC, possibilitando que um sistema operacional diferente seja instalado em cada uma delas.

Há duas grandes vantagens na adoção dessa tecnologia: uma voltada a usuários, outra a servidores. No caso dos primeiros, o trunfo consiste em eliminar a incompatibilidade entre aplicativos e sistemas operacionais; pense em um usuário cujo PC tenha o Windows Vista instalado, mas que deseje rodar um aplicativo que só é compatível com o Windows XP. Isso é possível com a criação, nesse PC, de uma VM que rode o WinXP: depois disso, basta instalar o aplicativo nessa VM e executá-lo normalmente (como se fosse um computador dentro de outro).

Quando aos servidores, sua virtualização permite que, ao invés de se ter diversos subservidores (que utilizam apenas uma porcentagem dos recursos das máquinas em que estão hospedados), os processos sejam distribuídos de forma equânime entre um número menor de computadores (que, com isso, chegam mais próximos do aproveitamento total de sua capacidade). Isso reduz a quantidade de mão-de-obra técnica, o espaço para alocar as máquinas e o gasto com eletricidade necessários; tudo isso incorre em economia.

Virtualização da Apresentação

A maioria dos programas disponíveis no mercado funciona no mesmo local em que se encontra a instalação. Isso pode parecer óbvio para usuários tradicionais, mas tal barreira foi quebrada com o uso da Virtualização da Apresentação: trata-se do acesso a um ambiente computacional sem a necessidade de estar em contato físico com ele. Isso propicia, entre outras coisas, a utilização de um sistema operacional completo (bem como de seus aplicativos) de qualquer local do planeta, como se estivessem instalados no seu PC. O conceito é bem parecido com o de acesso remoto, com a diferença de que vários usuários podem se beneficiar do mesmo sistema simultaneamente (sem interferir uns aos outros).

Virtualização de Aplicativos

Cada aplicativo depende do sistema operacional para uma variedade de serviços, como alocação de memória ou gerenciamento de drivers. Resolver incompatibilidades entre determinado programa e o sistema operacional instalado na máquina é fácil, podendo ser feito uso de qualquer um dos dois tipos de virtualização já citados (hardware e apresentação). Mas e quando o conflito é entre dois aplicativos distintos? Pode ser que cada um deles requeira, por exemplo, uma versão diferente de uma mesma DLL.

Isso é resolvido através da virtualização de aplicativos. A técnica consiste em ter uma única cópia de determinado aplicativo, instalada em um servidor virtual; usuários que desejarem ter acesso a tal aplicativo podem fazê-lo diretamente, sem a necessidade de que ele também esteja instalado na máquina física. A partir daí o programa pode ser executado normalmente, já que as características específicas de cada aplicativo (seus drivers, entradas no registro, DLLs e afins) são compiladas e baixadas diretamente para o PC do usuário, através da geração de um aplicativo virtual que fica à parte.

Para quem estiver mais interessado em obter mais conhecimento sobre programas de virtualização, deixarei uma lista referente a aplicações que fazem o uso deta filosofia de trabalho e para mais informçaõ consultem a o Oraclo Google

Virtual Box
Linux Live usb Creator
Team Viewer (Aplicação que já mereceu destaque aqui no blog, para quem estiver entereçado consulte nos arquivos do blog)
Clonezilla
iTalc

Computação nas nuvens – Acredita-se que no futuro ninguém mais precisará instalar nenhum software em seu computador para desempenhar qualquer tipo de tarefa, desde edição de imagens e vídeos até a utilização de programas de escritório (Office), pois tudo isso será acessível através da internet.

Estes são os chamados serviços online. Ou seja, você simplesmente cria uma conta no site, utiliza o aplicativo online e pode salvar todo o trabalho que for feito para acessar depois de qualquer lugar. É justamente por isso que o seu computador estará nas nuvens, pois você poderá acessar os aplicativos a partir de qualquer computador que tenha acesso à internet.

Em poucas palavras é o estado mais avançado e complexo da virtualização. Em que tudo gira em torno de um PC conectado a rede (Internet), em que os recursos do mesmo pode ser asseçado em qualquer parte do mundo.

Sobre esta nova filosofia, que na verdade não é tão nova para os internautas mais acídos(Computação nas nuvens) existe vários pioneiros mas os que mais se destacam nesta area é o Google. É como dizia Eric Schmidt CEO da Google “O futuro está na internet”. Eu particularmente concordo com esta afirmação, a internet é o verdadeiro conceito de Aldeia Global(Globalização), mas é como dizia um grande sabio com Grandes poderes surgem Grandes Responsabilidades. Cabe a essas Entidades garantirem a máxima segurança e integridade dos dados perante os Black Hats ou Hackers como queiram. Já dizia um grande sabio a unica coisa que não muda é que sempre acontecem mudanças , e assim o mundo avança a uma velocidade que nos obriga a estar ao passo da tecnologia.

E fica a pergunta no ar Será que daqui a alguns anos poderemos acessar nossos PCs de qualquer lugar do planeta? Só o tempo dirá.

Obrigado.

Anúncios

Um passeio a UCAN

Pessoal esse link vai dar o acesso a uma visao em 3D da nossa querida e amada Universidade. Boa visita.

UCAN VIRTUAL

Java’s World

Pessoal aqui vai mais um post, desta vez trago um artigo que faz uma abordagem curta mas minuciosa da Linguagem de Programação JAVA. Abordagem esta, que passa deste o seu processo de concepção até ao que é hoje o JAVA nas nossas vidas.
Este é um artigo de uma das Linguagem, senão mesmo a Linguagem mais utilizada nos dias de hoje no compto informático.

Java, das torradeiras à Internet

Muito hoje em dia é falado sobre Java e toda a revolução que ela vem provocando no way-of-life de programadores, analistas e internautas. Mas o que é Java, afinal? Quais são suas origens e seus propósitos? De onde vem todo esse sucesso?

Java é uma linguagem de programação orientada a objetos, desenvolvida por uma pequena equipe de pessoas na Sun Microsystems. Inicialmente elaborada para ser a linguagem-base de projetos de software para produtos eletrônicos, Java teve seu grande boom em 1995, devido ao sucesso mundial da World Wide Web. Mas o que tem Java a ver com a WWW?
Como foi dito, o propósito inicial do desenvolvimento de Java foi para funcionar em processadores de eletrodomésticos. Os projetistas de sistemas de controle desses processadores, descontentes com linguagens convencionais de programação, como C, propuseram a criação de uma linguagem específica para uso em processadores de aparelhos domésticos, como geladeiras e torradeiras. Todo o descontentamento dos projetistas residia no fato de que programas escritos e compilados em C são fortemente dependentes da plataforma para a qual foram desenvolvidos. Como o ramo de eletro-eletrônicos está em constante evolução, a cada novo liquidificador lançado no mercado com um novo processador embutido, um novo programa deveria ser escrito e compilado para funcionar no novo compilador, ou então, na melhor das hipóteses, para reaproveitar o antigo programa, no mínimo ele teria de ser re-compilado para o novo processador.
Um outro problema no uso de linguagens de programação tradicionais em produtos eletro-eletrônicos reside no fato de que o consumidor em geral quer uma longa vida útil para seu aparelho. De outro lado, é ponto pacífico que a maioria dos softwares são projetados já prevendo-se sua breve obsolecência, ou seja, escreva um programa hoje e em poucos meses ele estará ultrapassado. Desta forma, sempre que novos processadores para eletrodomésticos fossem desenvolvidos, eles teriam de apresentar uma espécie de compatibilidade retroativa. (Se bem que para usuários de PC, isso não é lá muito estranho, basta lembrar a compatibilidade forçada na evolução 8088-80×86 e no encadeamento DOS-Windows-Win95).

Por fim, os projetistas de software de eletrodomésticos desejavam que o software por eles fabricado fosse seguro e robusto, capaz de funcionar em um ambiente tão adverso quanto uma cozinha. E que fosse confiável também, mais ainda que um software normal, pois quando ocorre alguma falha em um aparelho eletro-eletrônico, peças mecânicas são trocadas, gerando um custo a mais pro fabricante.

No início de 1990, Naughton, Gosling e Sheridan começaram a definir as bases para o projeto de uma nova linguagem de programação, apropriada para eletrodomésticos, sem os problemas já tão conhecidos de linguagens tradicionais como C e C++. O consumidor era o centro do projeto, e o objetivo era construir um ambiente de pequeno porte e integrar esse ambiente em uma nova geração de máquinas para “pessoas comuns”. A especificação da linguagem terminou em agosto de 1991, e a ela deu-se o nome de “Oak” [Carvalho]. Por problemas de copyrigth (já existia uma linguagem chamada Oak) o nome foi mudado em 1995 para Java, em homenagem à ilha de Java, de onde vinha o café consumido pela equipe da Sun.

Em 1992, Oak foi utilizada pela primeira vez em um projeto chamado Projeto Green, que tinha por propósito desenvolver uma nova interface de usuário para controlar os aparelhos de uma casa. Tal interface consistia em uma representação animada da casa, que era exibida em um computador manual [chamado star seven, bisavô dos palmtops de hoje], e que tinha uma tela sensível ao toque que permitia a manipulação dos eletrodomésticos. Essa interface era totalmente escrita em Oak, e evoluiu para um projeto de interface para redes de televisão pay-per-view. Contudo, o padrão proposto por esses dois projetos não vingou, e outros padrões, pelo menos em sistemas de TV pay-per-view vêm tomando conta do mercado. Um personagem animado desses projetos, Duke, tornou-se um dos símbolos de Java.

Em meados de 1993, pode-se dizer que Oak ia “mal das pernas”. Os projetos propostos não eram economicamente viáveis, e não se via um grande futuro no desenvolvimento de aparelhos que suportassem essa nova linguagem. Justamente nessa época, a World Wide Web estava em seu nascimento, trazendo um novo horizonte para a Internet. (É importante lembrar que a Internet já existia muito antes do surgimento da WWW. A WWW nada mais é que um conjunto de protocolos que permite um acesso mais amigável aos recursos disponíveis na Internet. Dentre esses protocolos, por exemplo, o mais conhecido em geral é o de transferência de hipertexto [http]). Com o lançamento do primeiro browser do mercado, o Mosaic, ocorreu à equipe de desenvolvimento da Sun que uma linguagem independente de plataforma, segura e robusta como a que estava sendo desenvolvida para eletrodomésticos caberia como uma luva para uso na Internet, uma vez que um aplicativo gerado nessa linguagem poderia rodar nos diversos tipos de computadores ligados na Internet, rodando qualquer sistema operacional, de PCs rodando OS/2 a estações RISC rodando AIX Unix, ou SparcStations rodando Solaris, os programas escritos nessa linguagem que viria a ser conhecida por Java seriam o modelo para qualquer aplicativo Web.

Com o novo ânimo trazido pelo advento da WWW, a equipe da Sun desenvolveu um browser totalmente escrito em Java, tendo-o terminado no início de 1995 e denominado-o HotJava. O grande diferencial de HotJava para outros browsers da época (como o Mosaic, o Netscape Navigator e o Lynx) é que ele permitia a inserção de programas escritos em Java dentro de páginas HTML comuns. HotJava como browser foi um fiasco comercial, mas abriu os olhos dos desenvolvedores para um fato muito importante: as páginas HTML estariam fadadas a serem estáticas e sem ações embutidas em si, não houvesse uma linguagem padrão na qual fossem escritos programas que pudessem ser embutidos nas páginas Web. HotJava demonstrou que isso era possível (ou seja, incluir um programa, no caso escrito em Java, em uma página HTML rodando em um browser preparado para dar suporte à execução do programa, no caso o próprio HotJava). O grande “pulo do gato” de Java veio logo a seguir, quando a Netscape anunciou que sua próxima versão do browser Navigator, iria dar suporte a aplicativos Java embutidos em documentos HTML. Em seguida, a Microsoft anunciou o mesmo para o seu Internet Explorer. E Java estourou no mundo, a Sun contabilizava inúmeros downloads de seu JDK, diversas empresas desenvolveram IDEs para a programação em Java, e vieram JavaScript, JavaBeans, a briga deste com ActiveX, e…

E a Internet jamais foi a mesma.

Características do Java

Java é uma linguagem de alto nível, com sintaxe extremamente similar à do C++, e com diversas características herdadas de outras linguagens, como Smalltalk e Modula-3. É antes de tudo uma linguagem simples (é mesmo!), fortemente tipada, independente de arquitetura, robusta, segura, extensível, bem estruturada, distribuída, multithreaded e com garbage collection.

SIMPLICIDADE: Java, é muito parecida com C++, mas muito mais simples. Java não possui sobrecarga de operadores, structs, unions, aritmética de ponteiros, herança múltipla, arquivos .h, diretivas de pré-processamento e a memória alocada dinamicamente é gerenciada pela própria linguagem, que usa algoritmos de garbage collection para desalocar regiões de memória que não estão mais em uso.

ORIENTAÇÃO A OBJETOS: Ao contrário de C++, que é uma linguagem híbrida, Java é uma linguagem orientada a objetos que segue a linha purista iniciada por Smalltalk. Com a exceção dos tipos básicos da linguagem (int, float, etc.), a maior parte dos elementos de um programa Java são objetos. (A título de curiosidade, Smalltalk já é considerada puramente O.O. [orientada a objeto], pois absolutamente tudo em Smalltalk são objetos, não há tipos básicos em Smalltalk.) O código é organizado em classes, que podem estabelecer relacionamentos de herança simples entre si. Somente a herança simples é permitida em Java. (Há uma forma de “simular” herança múltipla em Java com o uso interfaces, que veremos em outros passos do curso).

PROCESSAMENTO DISTRIBUÍDO: Chamadas a funções de acesso remoto (sockets) e os protocolos Internet mais comuns (HTTP, FTP, Telnet, etc.) são suportadas em Java, de forma que a elaboração de aplicativos baseados em arquiteturas cliente-servidor é facilmente obtida.

MULTITHREADING: A maior parte dos sistemas operacionais hoje no mercado dão suporte à multitarefa, como o Windows, OS/2 e Unix, ou seja, o computador é capaz e executar diversas tarefas ao mesmo tempo. Cada um desses sistemas tem o seu tipo de multitarefa, preemptiva ou não, com ou sem multiprocessamento. Java tem o suporte a multitarefa embutido na linguagem: um programa Java pode possuir mais de uma linha de execução (thread). Por exemplo, cálculos extensos, que em geral demandam muito tempo do processador, podem ser escritos em uma thread, e a parte de interface com o usuário, que depende mais dos periféricos de I/O que do processador, pode ser executada em outra thread. Programação concorrente em geral é uma tarefa difícil, mas Java fornece diversos recursos de sincronização de processos que tornam a programação mais simples.

EXCEÇÕES: Todo programador em geral está bastante acostumado com o computador “travando” por causa de um erro em um programa. Em C++, por exemplo, a simples tentativa de abertura de um arquivo inexistente pode obrigar ao programador a reiniciar o computador. Programas Java, contudo, não “dão pau” no computador, já que a máquina virtual Java faz uma verificação em tempo de execução quanto aos acessos de memória, abertura de arquivos e uma série de eventos que podem gerar uma “travada” em outras linguagens, mas que geram exceções em programas Java. Em geral, ao escrever programas Java utilizando-se de herança de classes predefinidas, força-se em geral ao programador escrever algumas rotinas de tratamento de exceção, um trabalho que, se de início pode parecer forçado, irá poupar o programador de bastante dor de cabeça no futuro.

GARBAGE COLLECTOR: Em Java, os programadores não necessitam preocupar-se com o gerenciamento de memória como em C++. Em C++, todo bloco de memória alocado dinamicamente (com new, malloc ou função similar) deveria ser liberado quando não fosse mais usado (com free, delete e parentes próximos). Isso acarretava diversos problemas mesmo ao programador mais experiente, que tinha que manter sempre um controle das áreas de memória alocadas para poder liberá-las em seguida. Java, ao contrário, utiliza-se de um conceito já explorado por Smalltalk, que é o de garbage collection (coleta de lixo). Sua função é a de varrer a memória de tempos em tempos, liberando automaticamente os blocos que não estão sendo utilizados. Se por um lado isso pode deixar o aplicativo um pouco mais lento, por manter uma thread paralela que dura todo o tempo de execução do programa, evita problemas como referências perdidas e avisos de falta de memória quando sabe-se que há megas e megas disponíveis na máquina.

MACHINE INDEPENDENT: Uma das características de Java que tornou-a ideal para seu uso na elaboração de aplicativos distribuídos foi a sua independência de plataforma. Afinal, a Internet é uma grande “salada” de computadores de todos os tipos, dotados dos mais diversos sistemas operacionais e ambientes gráficos que se possa imaginar. Java consegue essa independência devido ao fato de que o compilador Java não gera instruções específicas a uma plataforma, mas sim um programa em um código intermediário, denominado bytecode, que pode ser descrito como uma linguagem de máquina destinada a um processador virtual que não existe fisicamente. Na realidade, existe. A Sun está desenvolvendo, já com alguns resultados práticos, microprocessadores cuja linguagem nativa é o Java: o picojava, microjava e ultrajava. O código Java compilado pode então ser executado por um interpretador de bytecodes, a JVM – Java Virtual Machine, que é um emulador de processador.

Arquitetura e Ferramentas

Como compilar e executar um programa Java?

O processo de compilação de um programa Java é feito de acordo com os seguintes passos: o código fonte (extensão .java) é compilado e armazenado em um arquivo de extensão .class. De cara, percebe-se a impossibilidade de utilizar-se de DOS como sistema operacional para a elaboração de aplicativos Java, uma vez que o mesmo tem um suporte limitado a nomes de arquivos. Mas essa limitação quanto ao nome dos arquivos é somente a razão aparente da não-portabilidade de Java para DOS. A grande razão reside no fato de que Java foi projetada para sistemas de 32 bits, e só foram escritas Máquinas Virtuais Java para ambientes de 32 bits.

A portabilidade de Java depende fortemente da existência de JVMs que rodem em diversas plataformas. Um programa Java rodará em um computador se existir uma JVM que nele rode. Ao contrário de programas Java, as JVMs devem ser programas feitos e compilados para máquinas específicas, de forma que serão as JVMs as responsáveis pela tradução de bytecodes Java para as linguagens nativas das máquinas.

O conjunto de instruções da Máquina Virtual Java é otimizado para ser pequeno e compacto, tendo sido elaborado para ser uma espécie de processador RISC virtual: a rapidez da interpretação às vezes é sacrificada para garantir esse reduzido conjunto de instruções.

O compilador mais utilizado para a transformação de arquivos-fonte java (.java) em arquivos de bytecodes é o javac da Sun (há diversos outros compiladores no mercado, mas o javac foi o primeiro e é o mais popular ainda hoje).


James Gosling, o considerado Pai do Java.

Técnicas de Invasão

Pessoal pra quem quer estudar segurança é quer conhecer mais sobre as técnicas utilizadas em invasões esse tópico poderá ser útil..

No caso, a invasão é feita pela escravização de uma máquina alvo, essa máquina pode ser desde o pc do seu vizinho até o servidor central de um grande sistema. isso dependerá do conhecimento, e domínio das técnicas de invasão com suas devidas ferramentas.

invadir não significa danificar, mas sim, testar brechas ou falhas de sistemas para avisar as empresas sobre os mesmos.

geralmente programas exploits são usados em sites para procurarem por falhas e são facilmente encontrados para download, mas vc conseguiria criar o seu exploit??.. o n-map é um programa que usa o principio da técnica tree-way-handshake ele envia pacotes de bits de pedido de conexão a um servidor e quando o servidor envia o bit de resposta (dizendo que aceita a conexão e estende a mao para o computador cliente), mas o n-map não responde ao bit resposta deixando assim o pobre do servidor esperando a conexão, desse modo se vc fizer vários pedidos simultâneos a um servidor poderá tira-lo do ar (para linux vcs ja ouviram falar no excelente Tribal Flood Network??). mas hoje em dia os sites tem proteção contra esse tipo de ataque, mesmo assim o n-map funciona perfeitamente na hora em que necessita de informações sobre a rede sem ser notado, podendo assim usar os escaners de porta e nukar algumas delas, com os nukadores de porta. assim vc age sem deixar rastro, mas antes de ter feito isso, é claro que no seu notebook vc irá trocar o seu mac-addres com o mac-addres-change, e mudar o seu proxy com algum programa específico (talvez proxy Japan), colocando um ip falso… isso tudo pode ser feito do windows mas vc pode fazer isso com o red rat8 (linux) e uma ferramenta poderosa de análise de rede mais avançada o Backtrack 4 para usar metaexploits.

Esse texto é apenas informativo mas se vc quiser pode pesquisar palavras programas ou frases no google e entender o básico desse tipo de técnica.

os métodos descritos acima, são aplicados em redes e sistemas mas se vc quer apenas escravizar uma máquina do seu amigo como teste vc pode usar trojans como Prorat (1.9 s.e. o melhor) , Turkojam 4, NetBus, Subseven, NetCat, BO.. enfim vc encontra uma variedade de trojans e sites que ensinam a usálos na internet…

para usar o prorat por exemplo vc precisa de enviar um aplicativo(trojam) para a maquina alvo, e quando a pessoa da um duplo clique ela infecta a maquina dela, ai vc precisará se usar a (conexão direta) do ip da pessoa pra conectar (se usar conexão reversa nem precisa é só esperar sentado na cadeira o pc dela aparecer na lista) pra obter o ip vc pode usar o msn plus por exemplo e adicionar o script ip-get.plsc encontrado facilmente na net, ou poderá abrir o prompt de comando e digitar netstat-n para pegar os ips das suas conexões se não achar o ip certo vai testando no máximo no quinto vc acha.. com o ip em maos basta clicar em conectar e pronto vc tem a maquina alvo em suas maos poderá abrir a gaveta de cd sumir os icones abrir chat…..muitas coisinhas pra testar na maquina do seu amigo.

um dos problemas para infectar a maquina são os antivirus, os trojans que vc tentara enviar serão facilmente detectados pelos avs, no entanto existem varios site que mostram programas para deixar seus servers indetectáveis pelos avs, dentre os métodos mais eficazes se destacam: o método dos compressores de aplicativos. (Themida) o themida é um compressor usado juntamente com binders, joiners, ou descompressores(cactus-joiner, upx-toll…).

Outro método tbm usado é a criação dos seus próprios trojans usando os sockets em programação orientada a objeto por exemplo delphi 7, existem sites que mostram como criar facilmente trojans do tipo prorat ou turkojam (invasao.com) e como deixálos indetectáveis usando uma simples linha de cabeçalho que desvia o escaner rápido dos antivirus para imagens diferentes das dos virus.

o terceiro método é o mais simples mas que demonstra melhor ”potência wormica” para rede simples e que não é detectada exatamente por sua simplicidade, é o método da “recompilação de um trojam executável pela geração de sua cópia em modo arquivo” ó até parece dificil kk, mas esse método usa duas ferramentas simples que são as protolls (do prorat versão especial 1.9), e o código vermelho (aplicativo de transformação do código do arquivo do trojan no código da compilação de um novo trojan indetectável por qualquer antivirus) esse código usa o método da geração de arquivos para infecção que por sua vez aplica métodos de transmissão por arquivos gravados em pastas compartilhadas, dez métodos diferentes para inicialização simultânea ao sistema operacional, usa comandos do sistema para perceber a atividade de antivirus, e sua consequente eliminação seja por avkill, ou até mesmo por mensagens falsas para desinstalação do sistema isso tudo feito em modo totalmente indetectável para a posterior extração e execução do trojam principal.

Crie o seu Navegador na Net

Malta internauta trago cá algo muito intertido, já imaginaste fazeres pesquisas num navegador com seu nome? Ham ok é possível, na verdade é uma simulação de navegadores que já existem. Confiram o novo e mais promissor navegador :

Calculo de Determinante de uma Matriz em C

Durante uma conversa que mantinha com um colega (Domingos Branda) no âmbito de álgebra linear surgiu-me então a ideia de implementar em c um programa que faça o calculo da determinante de uma matriz sobre o consagrado método de L’Place. O programa é muito bom para área didáctica de C e ajuda-nos muito na compreensão do manuseamento das matrizes em C(Algo muito pouco explorado). Espero que o código seje útil.

/*
Name: Antorio Junior Vemba
Copyright: 3v
Author: Antonio Junior Vemba e Doingos Branda
Date: 08-06-10 11:16
Description:
*/

#include

# define NUM 3
# define ESPACO ‘ ‘

int subtrac(int i,int j)
{
return i-j;
}

int mult(int i,int j)
{
return i*j;
}

void apresentacao()
{
printf(“\t\t\t Calculo de Matriz de ordem 3 n*n \n\n”);
}

// Zerar a matriz inicial

void zerarMatriz(int mz[][NUM])
{
int i,j;
for(i=0;i<NUM;i++)
{
for(j=0;j<NUM;j++)
mz[i][j]=ESPACO;
}
}

// Inicializar uma Matriz
void inicializarMatriz(int mz[][NUM])
{
int i,j;
printf("Ensira os valores da matriz:\n");
for(i=0;i<NUM;i++)
{
for(j=0;j<NUM;j++)
scanf("%d",&mz[i][j]);
}
}

// Mostrar a Matriz ensirida pelo utilizador

void mostrarMatriz(int mz[][NUM])
{
int i,j;
printf("\nMatriz Digitada\n\n");
for(i=0;i<NUM;i++)
{
for(j=0;j<NUM;j++)
printf("%d %c",mz[i][j],j==NUM-1?' ':' ');
// if(i!=NUM-1)
printf("\n——-\n");

}
}
// Cálculo da determinate sobre a regra de laplace
int det(int mz[][NUM])
{
int r;
int deter=0;
for(r=0;r<NUM;r++)
{
switch(r)
{
case 0:
// Cálculo da determinate sobre a regra de laplace
deter=mz[0][r]*subtrac(mult(mz[1][1],mz[2][2]),mult(mz[2][1],mz[1][2]))+deter;
break;

case 1:
deter= -(mz[0][r])*subtrac(mult(mz[1][0],mz[2][2]),mult(mz[2][0],mz[1][2]))+deter;
break;

case 2:
deter=mz[0][r]*subtrac(mult(mz[1][0],mz[2][1]),mult(mz[2][0],mz[1][1]))+deter;
break;
}
}
return deter;
}

main()
{
int matriz[NUM][NUM];
apresentacao();
zerarMatriz(matriz);
inicializarMatriz(matriz);
mostrarMatriz(matriz);
printf("Determinante=%d",det(matriz));
getchar();
getchar();
}

Naruto mangá 493

Venho por esta anunciar que a partir de agora os internautas terão acesso aos mangas do anime japonês Naruto. Todas as semanas serão postados aqui os últimos mangás que saíram.
Começo com o ultimo que saio apenas hoje, que é o mangá 493.

Naruto Mangá 483