KdPrint((“Hello World!!!”));

16 de August de 2006 - Fernando Roberto

Meu primeiro computadorNeste primeiro post, vou aproveitar que ninguém vai ler mesmo para falar sobre mim. Afinal, as pessoas que se interessarem em ler este blog podem querer conhecer meu perfil com um pouco mais de detalhes. Nascido em 1976, eu nem imaginava o que seria da vida quando aos 13 anos ví um computador pela primeira vez. Meu primo tinha um CP200 e eu nem sabia que tipo de video game era aquele. Quando meu primo fez um upgrade para um poderoso MSX, eu comprei o CP200 dele. Eu simplesmente não sabia nada a respeito. Na época os jogos e aplicativos eram gravados em fita K7 e eu não tinha o gravador para desfrutar de toda essa tecnologia. Resultado, eramos eu e o manual de BASIC e foi assim que aprendi a programar.

Não precisou de muito tempo pra eu decidir que queria ser programador, mas tinha que ser para programar uma tal de linguagem C. Eu queria fazer o que os outros achavam difícil, talvez tenha sido por esse motivo que deixei de fazer o tradicional curso de Processamento de Dados para fazer Informática Industrial na ETE Jorge Street em São Caetano do Sul.

Apesar de programar Visual Basic, ainda não sabia nada de C para Windows quando fui fazer meu estágio na Provectus. Eu diria que não pude caí em um lugar melhor. Eles trabalhavam com um hardware próprio que era equipado com um processador V40. Utilizando uma biblioteca de Runtime própria, podimamos fazer com que um programa feito para DOS pudesse rodar naquele painel de coleta de dados. Com o tempo veio a primeira DLL, o primeiro serviço, o primeiro aplicativo, o primeiro driver e a tão esperada primeira tela azul. A placa de rede que recebia as mensagens da rede de coletores também era hardware próprio e começei a dar manutenção no código que já estava pronto. Tivemos que refazer todo o protocolo da rede dos coletores que era todo feito por nós. Assim, enquanto meus amigos faziam formulários, querys e relatórios, o fato de depurar um protocolo de rede, parte em assembly e parte em C, tanto o driver como o firmware utilizando um osciloscópio me dava a certeza de que era aquilo que eu queria fazer.

Depois de quatro anos trabalhando com coletores de dados, a vontade de programar exclusivamente para Windows me fez trabalhar em um site financeiro. Construir componentes MTS e COM+ foi bom para ter uma outra visão do negócio. Mas como era de se esperar, o trabalho em C/C++ para estes fins era pouco e logo acabou, assim foram me colocando em projetos de ASP com SQL, e graças a isso fui trabalhar em uma empresa de segurança da informação. Eu simplesmente não aguentava mais chegar no trabalho e ter que abrir o Query analyzer.

Scua me abriu as portas para a programação de baixo nível para Windows. Hooks de janela, DLLs de autenticação (GINA), logon no windows com smartcard e biometria, filtros de File Systems, criptografia de arquivos e partições em tempo real, controle de acesso, SoftICE e WinDBG. Atualmente trabalho na Open Communications Security e sou responsável pelo desenvolvimento de baixo nível de softwares contra fraudes eletrônicas. Detectar, combater e despistar root-kits, trojans e key-loggers.

Pretendo neste blog dar algumas dicas de desenvolvimento C/C++ para Windows, incluindo algumas coisas em User-Mode e outras em Kernel-Mode. Espero poder ajudar oferecendo algumas dicas e facilidades para este pequeno grupo de pessoas que desenvolvem drivers para Windows no Brasil.

7 Responses to “KdPrint((“Hello World!!!”));”

  1. Aeeeeeeeeeeeee!!! (não pude evitar)

    Parabéns pela iniciativa de criar (acredito eu) o primeiro blog nacional de um programador kernel mode full time.

    Espero que você não perca a vontade de escrever, como acontece com muitos na blogosfera. Desde já terá um leitor eventual =)

    []s e boa sorte!

  2. Leandro says:

    Nunca esperava trabalhar nesta área, nunca esperava tbm conhecer alguém que compartilhasse conhecimento a respeito!

    Parabéns pelo excelente material que vc disponibiliza e naum desanime!!!

    []’s

  3. Lucio Almeida says:

    Super CP200S . Pena você não ter tido a oportunidade de jogar REX nele hehehehe. Brilhante computador, bons tempos.

  4. Thiago says:

    Que beleza… eu ainda tenho meu CP 200 navinho e funcionando

  5. Viktor KARDINI says:

    Possuo 2 CP 200S. Colecionadores interessados nestas raridade entrar em contato por kardini@terra.com.br

Deixe um comentário