mar 2008 21

Olha o saudosismo aí gente! Em 1997 a Borland lançou o melhor compilador C++ para DOS, Windows 16 e Windows 32, o Borland C++ 5.02. Até hoje, quando alguém usa o Borland C++ Builder, o compilador que faz todo o serviço pesado é o bom e velho Borland C++ 5(bem, pelo menos até os C++ Builder de uns poucos anos atrás eu tinha certeza que eram iguais). As bibliotecas mudam, o linker muda, mas o compilador continuou o mesmo.

O compilador Borland C++ 5.02 para DOS, Windows 16 e Windows 32

Um fato pouco conhecido: as primeiras versões do BC++ vieram com um programa chamado Resource Workshop que na época do lançamento recebeu pouca atenção.

Anos depois descobririam que as ferramentas que acompanhavam o Borland C++ eram as mais poderosas armas da engenharia reversa! O Resource Workshop tornava possível extrair ícones, texto, imagens e muita informação da estrutura dos programas comerciais o que fez dessa ferramenta uma ameaça aos programadores comerciais da época.

Nas versões posteriores, a Borland retirou o Resource Workshop de seus ambientes de programação(IDE). Assim, a ferramenta virou ítem cobiçado no underground dos crackers e “engenheiros reversos”. Não demorou para que a ferramenta aparecesse online independentemente do compilador Borland.

Outro ítem que provou ser muito popular entre engenheiros reversos foi o Turbo Debugger para Win32 e o Winsight, ambos programas que entravam entre o programa e a máquina e mostravam os detalhes mínimos de seu funcionamento. Usando essas ferramentas foram quebrados mais sistemas anti-pirataria do que com qualquer outra ferramenta da época.

Juntamente com a “geração Borland” chegaram os debugger em nível de kernel como o Microsoft Kernel Debugger que acompanhava o Driver Development Kit e o lendário SoftICE. Depois das ferramentas Borland, o SoftICE foi o maior amigo dos engenheiros reversos até o lançamento do Windows XP. No XP o SoftICE tinha comportamento instável e logo surgiram ferramentas mais práticas, como o Olly Dbg e o Interactive Disassembler IDA Pro criado pelo programador Russo Ilfak Guilfanov.

Para saber mais, procure no Google os mirrors dos tutoriais do mitológico ++ORC, normalmente publicados por um programador chamado Fjalar Ravia, ou Fravia. O site oficial Fravia.com foi tirado do ar, mas existem mirrors online que você pode estudar para saber mais sobre os “anos dourados” da engenharia reversa de software para PC.

Com o Bit Torrent e um pouco de criatividade você ainda encontra todas essas ferramentas para conhecer um pouco mais.

Não estou incentivando a pirataria, mas a Borland não comercializa mais esses compiladores, debuggers e ferramentas e não há versões para avaliação. Então se você gostar das versões obtidas pelo BT, procure comprar uma versão original de alguém que possua!

mar 2008 22

Mais uma pra seção Velharia deste blog – lá vão algumas telas do Autocad R13 de 1994.

Telas do Autocad R13

Autocad R13 Tela Completa

Telas do Autocad R13

Telas do Autocad R13

mar 2008 22

Dizem os boatos que este foi o único programa comercial que Bill Gates escreveu. O GW-Basic acompanhava o MS-DOS e era a versão em disco do “Basica” cuja tela você vê logo abaixo. Qualquer semelhança é mera coincidência…ou não? Na verdade, não… A versão foi adaptada para várias empresas que compraram a licença da Micro-Soft, entre elas a IBM que incluia o Basica no ROM de seus microcomputadores do inicio dos anos 1980.

Você já tinha se perguntado por que a Microsoft até hoje insiste no Basic como linguagem de integração do Office, do ASP.NET e do Visual Basic quando existem linguagens tão mais elegantes?

A única explicação que encontrei é porque BASIC é xodó do Bill Gates mesmo. E tudo começou com o interpretador que ele escreveu nos anos 1970 e que depois virou essas telas que você vê aí embaixo.

E o GW, o que quer dizer? Pesquisei na Wikipédia e lá não há consenso. Pode significar Gates, William. Ou a versão oficial da Microsoft de que é Gee Whiz BASIC. O mais provável mesmo é que sejam as iniciais de um dos programadores que trabalharam no sistema: Greg Whitten.

GW-BASIC:
Tela do GW-BASIC da Microsoft em 1988

Basica:
Tela do Basica da Microsoft em 1983

jan 2009 28

“War dialing” faz parte do jargão criado por hackers dos Estados Unidos na decada de 1970.

Para encontrar condutos para realizar explorações em BBS e outros sistemas os hackers buscavam linhas de telefone que estivessem conectadas a modems e que estivessem atendendo a chamadas de dados(aquele já quase esquecido barulho da conexão do modem).

Um programa, naturalmente chamado de “war dialer” gerava sequências válidas de números de telefones à partir de dados fornecidos pelo hacker. Por exemplo, em Brasília a região da Asa Norte tem diversos prefixos, entre eles o 3349 e o 3327.

Assim um explorador poderia especificar a seguinte sequência de números …

Dial 3327[0000-9999]

…para discar todos os 10.000 números telefônicos entre 3327-0000 até 3327-9999 e verificar se algum deles atenderia chamadas de dados.

Diversos parâmetros podem ser fornecidos como quantos toques esperar ou registrar apenas canais de dados com determinada velocidade(1200 baud por exemplo seria “chique” em 1981!).

War Dialing em 2009

Por incrível que pareça, o war dialing continua sendo praticado pelo mundo afora e serve para explorações muito interessantes. Por exemplo: diversas placas de administração emergencial remota de servidores atendem a chamadas via modem. Através delas é possível comandar completamente o hardware de servidor remoto. O motivo de estarem conectadas a modems é que em caso de falha completa da infraestrutura de rede, a rede telefônica ainda é a mais robusta do mundo. Assim, em caso de desastre, seria possível ligar via modem telefônico para seu CPD e comandar os servidores(teoricamente ligados a no-breaks ainda carregados).

Outra possibilidade seria de BBSs amadoras ainda existirem. Quem sabe você não encontra uma BBS através de war dialing? Nos dias da Internet você talvez se pergunte por que alguém teria uma BBS em funcionamento. Bem, por vários motivos. Entre eles, puro saudosismo e o baixíssimo preço das linhas telefônicas. Hoje em dia é possível manter uma linha telefônica para receber chamadas por menos de R$ 10 ao mês. BBSs atuais podem ter conteúdo específico como segurança de redes ou interesses de outros hobbyistas como rádio amador ou …pornografia!

War Driving

Na atualidade o termo “war dialing” tem sido adaptado às novas formas de conexão que temos à nossa disposição. A adaptação mais popular que tenho encontrado tem sido “war driving”. “Drive” vem do inglês “dirigir”. War driving é a busca por redes sem fio abertas usando um automóvel. Levando um iPhone ou notebook no banco do passageiro rodando o aplicativo de descoberta de redes(“war driver”??) é possível marcar a localização GPS das redes sem fio abertas e usá-las posteriormente para explorações online. Lembrando que é sempre bom usar senha em seu ponto de acesso wi-fi.

fev 2009 15

A Reuters publicou uma notícia que me chamou a atenção: Cuba teria finalmente criado uma distribuição Linux própria e estaria em processo de migração de todos seus computadores estatais para ela.

Confesso que fiquei surpreso com a notícia. Não pela questão técnica, porque não duvido que os Cubanos possam criar uma distribuição excelente. Fiquei surpreso, sim, ao descobrir que Cuba, até hoje, não tinha tornado institucionalmente obrigatório o uso de software livre nas suas dependências estatais. Tinha em mente que o uso de Microsoft Windows por lá era simplesmente proibido. Eu estava enganado – não só não é proibido, como o governo Cubano parece fazer vista grossa do uso desse sistema em cópias piratas, e o governo de Raúl Castro tem seguido a tendência do governo de Fidel de adotar muito lentamente o software livre.

Pior, fazendo uma retrospectiva rápida, podemos ir além e concluir que, de 1980 para cá, nenhum país do chamado “bloco socialista” apoiou, de fato, o movimento do software livre.

Jamais havia me questionado sobre o assunto mas, realmente, saber que apenas em 2009 a ilha decidiu substituir oficialmente(com ações concretas) o Windows por Linux demonstra que há um vácuo imenso entre o discurso oficial e a prática. Um movimento que teve início nos anos 1980 e que, por muito tempo, foi considerado “contrário aos princípios do mercado” não teve qualquer apoio institucional do bloco socialista. Essa constatação é, no mínimo, intrigante.

Uma reportagem falando sobre a migração ao software livre em Cuba afirma que “apesar de [Cuba] ter proclamado sua intenção de migrar todos seus sistemas para software livre em 2005, os esforços neste sentido parecem depender mais de pequenos grupos de entusiastas do que de apoio politico e institucional do governo Cubano”

Segundo a mesma reportagem, o professor Yudivián Almeida, da Universidade de Havana afirma que “ainda há grande resistência à mudança”.

É claro que a Internet propiciou a globalização do software livre, o próprio Linux só foi possível devido à colaboração global através da grande rede. O acesso das massas à Internet só foi possível após o fim da guerra fria, com a transferência do controle da Internet de militares da DARPA para civís do InterNIC em 1992. O fato do desenvolvimento do Linux ter explodido nessa época não é mera coincidência. Devemos admitir que a Internet foi o grande catalisador do movimento do software livre, mas, em termos históricos, o questionamento à falta de apoio político do bloco comunista ao software livre ainda é válido.

Richard Stallman - Pai do movimento pelo software livre

Richard Stallman - Pai do movimento pelo software livre

Em 1983 Richard Stallman iniciou o projeto GNU, produzindo um compilador excelente da linguagem C(GCC, o mais utilizado até hoje), um editor de textos poderoso(Emacs) e deu início ao trabalho num kernel Unix livre(HURD), projeto que não obteve sucesso mas inspirou muitos outros posteriormente. Hoje o projeto GNU é a força motriz por trás do Linux, OpenSolaris, FreeBSD, NetBSD, OpenBSD e inúmeros outros.

Segundo Eric Raymond, em seu livro “The Art of Unix Programming”, o software livre só decolou no “mundo capitalista” quando o nome “software livre” foi substituido por “software aberto”. Por que? Para evitar conotações socialistas e, segundo o próprio Raymond, “retirar a carga ideológica do projeto de Richard Stallman”. A mudança para “OSS” ao invés de “Free Software” pegou embalo em 1998 quando as fundações Mozilla, Apache, X e por aí vai todas concordaram em utilizar o termo “software aberto” ao invés de free software. Foi só então que a IBM e outros gigantes capitalistas adotaram o Linux como alternativa à Microsoft.

Ou seja, o mercado teve a “preocupação”, ou puro preconceito ideológico, de evitar conotações socialistas no uso do software livre, mas Cuba não se importou nem um pouco com a mensagem política enviada ao mundo ao permitirem o uso do Microsoft Windows até os dias de hoje?

Vejam só. Eis que uma década depois da mudança da tarja de “free software” para “open source”, Cuba ainda não havia realmente, de fato, abraçado a causa. Isso nos diz algo ainda mais marcante: até 1998 nenhum país “socialista” havia utilizado politicamente o software livre. China, Cuba e até mesmo a URSS não enxergaram o potencial do software livre nos anos 1970, ou na década de 80 quando Ronald Reagan os chamava de ‘Império do Mal’, ou até mesmo na euforia do mundo pós-Guerra Fria dos anos 90?

Toda aquela “birra” ideológica do início do novo mliênio, de que o software livre seria uma afronta ao mercado livre, não passou de marketing de empresas de software fechado para tentar evitar que uma metodologia mais inteligente de compilação de conhecimento humano prejudicasse seus lucros.

Hoje podemos concluir que, enquanto Richard Stallman lutava para que todo software fosse aberto e naturalmente acessível por todas as classes sociais, todo o bloco socialista ignorou solenemente aquele que poderia ter sido um de seus maiores trunfos: o software livre.

Em “Cyberpunk”, o jornalista John Markoff narra a história de “Pengo”, um hacker de Berlim oriental que se infiltrava em computadores dos EUA, roubava código fonte e depois vendia para agentes secretos do bloco socialista. A Russia preferiu a pirataria ao invés de apoiar Stallman e todo o movimento de software livre dos anos 1980.

Em retrospectiva, notamos que enquanto Bill Gates dava uma surra no software livre e se tornava o homem mais rico do mundo vendendo código fechado, todo o bloco socialista ficou passivo, observando a luta dos hackers anarquistas pelo direito ao acesso à tecnologia por todas as classes sociais.

O caso do hacker “Pengo” ilustra como a URSS preferiu comprar mercadoria ilícita de hackers adolescentes à ter uma política institucional de apoio ao software livre. O que poderia ter sido mais poderoso como arma ideológica do que uma iniciativa soviética de apoiar o “Free Software” produzindo compiladores grátis e sistemas operacionais de alta qualidade inteiramente livres de royalties de corporações e governos estrangeiros? Imagine se o software livre tivesse apoio do bloco comunista e algo semelhante ao Linux tivesse nascido em 1980…

Ainda segundo a reportagem, em pleno 2009 Cuba utiliza Linux em apenas 20% de seus computadores. Podemos supor, com pequena margem de erro, que os outros 80% de computadores de Cuba utilizam alguma versão do Microsoft Windows.

A estimativa de um especialista da Universidade de Ciência de Informação de Cuba é de que em 5 anos 50% dos computadores da ilha estejam rodando Linux. Espera aí, 5 anos para atingir 50%???!!! É inacreditável.

Torço para que a distro Nova Linux de Cuba tenha sucesso e que todos os cubanos tenham acesso livre à nova distro. Na verdade Cuba deveria simplesmente banir imediatamente a pirataria de sistemas Microsoft Windows e abrir completamente o acesso do povo Cubano ao NetBSD, FreeBSD, Apache, Linux, Mozilla e demais projetos abertos.

Um pequeno retrospecto histórico nos mostra que já passou da hora, e muito.

Page 2 of 3123