WhoAmI

Wanderley Caloni é um programador C/C++ especializado em backend para Windows que decidiu ter seu próprio blogue técnico a pedidos insistentes do seu amigo, Rodrigo Strauss, que já estava blogando há algum tempo. Ele tentou mantê-lo atualizado, então, por longos anos de programação, depuração e transpiração, com suas peripécias do dia-a-dia.

Gostou de algo que escrevi? Me pague um café =)

Comunidade

Colaborador frequente do Grupo C/C++ Brasil, ele e Strauss se consideram fundadores do grupo ao organizarem e participarem do primeiro encontro de programadores e aficionados da linguagem C/C++ do Brasil, que ocorreu em São Paulo dia 17/12/2005 às 15:00 no Outback Eldorado. Desde então o grupo vem realizando encontros técnicos no decorrer dos anos.

O trabalho nos torna livres

Caloni trabalhou por dez anos na área de Segurança da Informação, principalmente em um Sistema de Controle de Acesso a Usuários e Aplicações 100% brasileiro e Análise de Trojans com Engenharia Reversa. Em seguida migrou para a Área Financeira, vindo a ser sócio de uma empresa especializada, também desenvolvedora de sua própria solução. Hoje é um dos sócios da BitForge, uma empresa que auxilia empresas e equipes de desenvolvimento em problemas complexos, seja em arquitetura, metodologias, cursos ou escovação de bits, mesmo.

Quem não sabe ensina

No mundo acadêmico Caloni participou de sua primeira faculdade em 1998 na Faculdade de Filosofia, Letras e Ciências Humanas da USP por um ano e meio antes de se descobrir perdidamente apaixonado por computação. Eventualmente se formou em Arquitetura de Redes pelo Instituto Brasileiro de Tecnologia Avançada em 2007. Fast foward e totalmente não-relacionado, de 2013 a 2018 foi nomeado MVP (Most Valued Professional) pela Microsoft, um prêmio em consideração pelas colaborações à comunidade C/C++.

Crítico de cinema? hein?

Entre xadrez e andar de bicicleta, seu principal hobby, ou o que ele levou mais a sério, é ser cinéfilo inveterado, tendo mantido de 2010 a 2019 um blogue especializado no assunto. Levando este hobby a sério demais, desde 2014 é colaborador do CinemAqui, participando de cabines de imprensa e escrevendo críticas sobre cinema, geralmente sobre pré-estreias de filmes fora do circuito hollywoodiano.

Voltando para a programação

Abaixo temos uma breve lista (não-exaustiva) das coisas que eu andei fazendo na minha breve vida de programador. Em inglês tenho o que chamamos de resume.

.dump /ma curriculo.dmp
  • 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 67 e Firefox 12 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 67 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 56 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.
  • Sistema de risco no mercado financeiro (para corretoras da bolsa de valores).
  • Desenvolvimento de artigos através de blogue técnico e comunidade Code Project (esse você já sabia, não é?).
  • Desenvolvimento de API de comunicação com dispositivos HID USB.
  • Programação para interfaces mobile Windows Phone e Android.
Quer colaborar?