Autor

Wanderley Caloni é um programador C especializado em backend para Windows que decidiu ter seu próprio blogue técnico. Tenta mantê-lo atualizado com suas peripécias do dia-a-dia. Colaborador frequente do Grupo C/C++ Brasil, foi junto de Rodrigo Strauss um dos fundadores e participante do primeiro encontro de programadores C++ de São Paulo. Trabalhou por dez anos na área de Segurança da Informação, principalmente no Controle de Acesso a Usuários e Análise de Trojans. Atualmente tem trabalhado em projetos de desenvolvimento para a Área Financeira e é cinéfilo inveterado nas horas vagas, o que fez com que abrisse mais dois novos blogues.

Também costuma dar pitacos sobre todos esses temas e outros mais em seu twitter pessoal.

Nas horas vagas, ele também programa. Mais.

Atualmente foi nomeado MVP (Most Valued Professional) pela Microsoft.

Se, mesmo com esse resumo, você tiver mais alguma dúvida a respeito de algo que eu conheça, não hesite em falar comigo! Abaixo temos uma breve lista das coisas que eu andei fazendo na minha breve vida de programador. Para uma visão mais formal, eis os linques para meu currículo (ou em inglês).

  • Inventário de hardware (WMI/SMBIOS) e software (registro)
  • Proteção da área de transferência e PrintScreen através de hook de janelas e manipulação de mensagens globais
  • Escrita de alertas no log de eventos do sistema através de drivers
  • Comunicação user/kernel mode através de DeviceIoControl
  • Acesso remoto de desktop através de ferramenta similar ao VNC
  • Ferramenta de execução remota similar ao PsExec
  • Controle de impressão de documentos através de regex (Boost) usando hook do Shell
  • Gerenciamento de diretivas de acesso do sistema durante logon e logoff de usuários (registro e hooks)
  • Migração de base de dados CTree para SQL (classes OLE)
  • Autenticação Windows com serviço DCOM e GINA customizada ou Credential Provider (Vista)
  • Sincronismo remoto de base de dados CTree usando serviço DCOM
  • CD Linux bootável com scripts bash e ferramentas de criptografia de discos em linguagem C
  • Driver de criptografia de discos rígidos e armazenamento USB (PenDrives)
  • Análise de telas azuis ou dumps de memória usando WinDbg
  • Serviço COM de execução de aplicativos na conta de sistema
  • Customização da MBR (Master Boot Record) de acordo com características da BIOS
  • Biblioteca de criptografia Blowfish e SHA-1 em C++ e Assembly 16 bits
  • Driver de auditoria de acesso com memória compartilhada e eventos entre user e kernel
  • Hook de API em kernel mode para plataformas NT e 9X
  • Carregador de boot em Assembly 16 bits; depuração usando Debug.com
  • Proteção de executáveis através de autenticação em domínio configurado no resource dos arquivos
  • DLL de proteção à navegação em Internet Explorer 6/7 e Firefox 1/2 com injeção de código Assembly 32 bits
  • Biblioteca de proteção de código, strings e execução monitorada; uso de interrupções Win32
  • Biblioteca de geração de log centralizado através de memória mapeada e eventos globais
  • BHO (Broser Helper Object) e ActiveX para Internet Explorer 6/7 e plugin XPI para Mozilla/Firefox
  • Gerenciamento de projetos com Source Safe, Bazaar e scripts Batch
  • Depuração de kernel mode em plataforma NT usando SoftIce e WinDbg, em 9X usando SoftIce e WDeb98
  • Engenharia reversa de trojans feitos em C++, Visual Basic e Delphi usando WinDbg e IDA
  • Ferramenta de diagnóstico que lista arquivos, serviços, drivers, registro, partições, processos, etc da máquina
  • Monitoramento de jobs em Windows 2000+ para controle de instalação e atualização de produtos
  • Monitoramento da frequência de uso de aplicações usando hook de janelas invasiva e não-invasiva
  • Engenharia reversa do dicionário Houaiss e importação para o formato Babylon
  • Controle de build com Cruise Control .NET, servidor de símbolos com Debugging Tools for Windows
  • Documentação de projetos através de Doxygen e Wiki (Trac)
  • Interfaces de gerenciamento em C++ Builder 5/6 e bibliotecas Visual C++
  • Analisador de e-mails usando expressões regulares (ATL)
  • Interfaces de análise em Visual C++ (MFC /ATL/WTL)
  • Análise de logs e edição global de projetos utilizando regular expressions
  • Desenvolvimento de artigos através de blogue técnico e comunidade Code Project (esse você já sabia, não é?)

 

  • http://Website Vinicius Santos

    Caloni, vc vai me desculpar, mas está mais difícil navegar nos históricos do seu blog…
    Eu pelo menos não estou os encontrando com tanta facilidade como antes…

    Abraço.

    • http://www.caloni.com.br Wanderley Caloni

      Opa! Valeu pelo feedback. Pode me dizer quais as formas de navegação que você utilizava? Mês a mês, arquivo completo?

      []s

  • http://Website Vinicius Santos

    Eu gostava da antiga separação que você fez.

    Básico do básico 1
    Básico do básico 2.
    Depuração
    C++
    C
    etc

    Com os tópicos agrupados e em ordem de postagem, fica fácil a navegação.

    Mês a mês também acho fácil.

    Abraço.

    • http://www.caloni.com.br Wanderley Caloni

      Olá.

      Dei um pequeno “tapa” na interface, acrescentando a lista por categoria, tags (ainda meio inútil) e a seção Arquivo agora contém a lista inteira de artigos. Por último, você pode usar o campo de busca à direita se nada mais der certo. Ah, logo abaixo também temos a lista de últimos artigos.

      A busca mês-a-mês atualmente não é muito útil, pois estou atualizando muito pouco.

      []s

  • http://Website Vinicius Santos

    Hummmm….Bem melhor agora !!

    Só posso lamentar que não está atualizando constantemente agora…

    Abraço.

  • Darlisson

    Olá Caloni,

    Porque aprender Russo??

    • http://www.caloni.com.br Wanderley Caloni

      Olá.

      Boa pergunta. Acho que cada um tem seus motivos, assim como qualquer outro idioma. Para mim, era uma espécie de desafio intelectual em experimentar um tipo de conhecimento meio diferente a qual estou acostumado, mesmo um dos meus hobbies ser idiomas.

      []s

  • Ana Amalfi

    Rapaz, vc é bem irriquieto, e isto me faz ver que não sou doida em batalhar para aprender algumas coisas. Batalho para aprender o mandarin e um pouco de programação. Te digo que o mandarin é mais fácil, pois aprender uma língua nova não é uma nova experiência. Se não for muito trabalho, o que voce aconselha para uma médica que que precisa aprender algo de programação para ir além do que o access da microsoft oferece ? Vi os esquemas que vc fez ao ensinar a “novata” e me perguntei se vale a pena tentar pois eu nunca tinha visto nada disto antes sobre ponteiros.

    • http://www.caloni.com.br Wanderley Caloni

      Olá, Ana.

      De forma alguma és doida por tentar aprender coisas fora de sua profissão atual. No fundo, doidera mesmo eu acho as pessoas que passam a vida inteira fazendo apenas uma coisa e se dedicando à essa coisa como se fosse a única coisa na vida delas.

      Mas divago.

      Eu aconselharia você a estudar o uso dos scripts do Microsoft Office, que é um ótimo caminho intermediário para quem já conhece o Access e Excel, por exemplo, mas não precisa de uma linguagem fora desses ambientes (ainda). Existe muito conteúdo tanto em inglês quanto em português sobre o assunto. A linguagem que a Microsoft usa em seu Office chama-se (ou chamava-se, talvez tenham mudado) VBA (Visual Basic for Applications).

      Boa sorte!

      []s