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

August 16th, 2006 - Fernando Roberto

Meu primeiro computador

In this first post, I’ll assume that no one will read it to talk about me. After all, people who are interested in reading this blog may want to know my profile with a little more detail. Born in 1976, I could not imagine what which job I would have when I was 13 years old and saw a computer for the first time. My cousin had a CP200 and I had no idea what kind of video game it was. When my cousin did an upgrade to a powerful MSX, I bought his CP200. I just did not know anything about it. I that time had the games and applications were recorded on K7 tape and I had no recorder to enjoy all this technology. As a result, we were only me and the BASIC manual and that’s how I learned how to program.

I didn’t take so long to decide that I wanted to be a programmer, but I had to program using a language that once I heard about, the C language. I wanted to do what others found difficult, and perhaps for this reason, instead of doing the traditional course of Data Processing, I decided to study Industrial Informatics at ETE Jorge Street School in Sao Caetano do Sul.

Although I knew how to program in Visual Basic, I still knew nothing about C for Windows when I was doing my internship at Provectus. I’d say I could not fell into a better place. They worked with a proprietary hardware that was equipped with a V40 processor. Using a library of run-time produced by them, we could make a program for DOS run inside a panel data collection. As time passed by, the first DLL, the first service, the first application, the first driver and long-awaited first blue screen came. The network adapter that received the messages from the network hardware was also a self-produced, and I started just maintaining the code that was already done. We had to redo all the collectors’ network protocol that was all done for us. So while my friends were doing forms, queries and reporting, the fact that debugging a network protocol, part in assembly and part in C both the driver and firmware using an oscilloscope, gave me certainty that was what I wanted to do.

After four years working with data collectors, my wish about programming exclusively for Windows made me work on a financial site. Building MTS and COM + components was good to get another business view. But as expected, tasks using C/C++ for these purposes were little and soon ended, so they were putting me in projects of ASP with SQL, and thanks to that, I moved to work in an enterprise about information security. I just could not bear to arriving at work and having to open the Query Analyzer.

SCUA really introduced me to the low-level programming for Windows. Window Hooks, Authentication DLL (GINA), logon in Windows with smart-card and biometric filters, file systems, file and partition encryption in real time, access control, SoftICE and WinDBG. I’ve currently worked at Open Communications Security and I am responsible for developing low-level software against hacking, detecting, combating and foiling root-kits, trojans and key loggers.

In this blog, I intend to give some tips about developing C/C++ for Windows, including some things in User-Mode and others in Kernel-Mode. I hope I can help by offering some tips and facilities for this small group of people who develops drivers for Windows in Brazil.

Leave a Reply