© 2007 Dieter Spaar. Last modified 31. December 2009
I am a self-employed Software Developer located in Germany. The following
is a short resume about me. If you want to read a more detailed one in
German, please have a look here.
I am also available for consulting and short-term projects. Please feel free
to contact me for further details.
- General: System programming, Windows drivers, Embedded Systems,
Debugging, Reverse Engineering, Copy Protection, USB security devices
(Tokens), Smartcards (e.g. STARCOS, MULTOS, JCOP), RFID, Graphical User
Interfaces, Testing/Debugging/Bug Tracing, DVB (Settopboxes).
- Languages: C, C++, C#, 80x86 and 680x0 assembly languages, Java,
- Operating Systems: Windows (9x, NT, 2000, XP, VISTA, 64-Bit),
Windows Embedded, Windows Mobile, Windows CE, Unix (Linux), Mac OS, Palm OS, MS-DOS.
- Hardware: Microcontroller (AVR, ARM, M32C, MIPS, Secure AVR), DVB, Cardbus, PCMCIA,
embedded Systems, Memory Cards, SCSI, USB
- Tools and Libraries: Visual Studio, MFC, Windows DDK, IDA Pro, USB Analyzer (CATC), Atmel Voyager Emulator.
This is just a short overview of some of my recent projects. Please feel
free to contact me if you have any questions.
- RFID PCSC Driver: Windows PCSC driver for a USB RFID Smartcard Reader.
- Proximity PCSC Driver: Windows PCSC driver for a USB Proximity
- USB Token Driver: Windows driver for a USB Security Token.
- ARM Firmware: Firmware for an embedded measurement system. Implementing a
MODBUS TCP interface using a Realtime OS.
- MULTOS application: Smartcard based security device used for Engine Control Unit
- Smartcard Firmware: Firmware for an Atmel AT90SC smartcard.
- Problem debugging: This should just give you an impression what
sort of problems I take care of: A customer of mine noticed that his USB
device is rather slow when he connects it to a USB hub and not directly to
a USB port of the PC (OS is Windows XP). The device is a USB Full-Speed
device and uses HID for communication. When I started researching this
behaviour, it was not clear if there is a problem in the firmware of the
device or what else is going wrong. After tracing the USB bus, debugging
through several Windows USB drivers and lots of testing I was able to
determine what causes this behaviour: It was an updated Windows USB driver
which came with Service Pack 2 for Windows XP (or better, Hotfix
I could locate the updated driver code which was responsible for the
problem. After that I researched if a modified firmware of the USB device
could fix the problem. The idea was to use USB Interrupt transfers for
writing to the device instead of USB Control transfers. I implemented
and tested this approach but it exposed the same behaviour. My customer
filed a support case with my findings which finally lead to KB article
certainly it's also possible to circumvent the problem by a tricky way to
communicate with the USB device, however my customer did not yet need
this solution. If you have questions feel free to contact me.
- Article: I wrote an article about hardware-based Copy Protection
for the german computer magazine c't. It was published in c't 21/2007.
- Talk: I had the great pleasure to co-present with Harald Welte
Running your own GSM network at the
25C3 in December 2008. Thank you, Harald, for this experience.
- Another talk: I gave the talk
A practical DoS attack to the GSM network at the DeepSec
in November 2009. You can get the slides here.
- And again a talk: At the 26C3 I gave
Playing with the GSM RF Interface in December 2009. The slides are here.
Diploma Degree in Electronic Engineering from the Technical University of
Munich, Germany (1988).
Name: Dieter Spaar
Phone: +49-8561-9836702 (please consider time difference to Germany)
Surface Mail: Spitzmaeusing 1
Need more information ? Any suggestions ?
(If "mailto" does not work with your browser, the address is