What can I do for you?
C++ was my first real programming language, I’ve started my journey with it about 10 years ago. I’ve created different kind of applications (e.g. platform game like Mario). I know how to write readable, optimised, object-oriented code as well as the procedural code. I know STL well, but I’m not afraid of C language too. I know the difference between pointers and references. I’ve managed plenty of low level projects including microcontrollers (e.g. BrainFuck compiler for Intel 8051, several small projects running on Atmel Atmega chips). I like these languages pretty much, but the real fun is Assembler.
I’ve started around the year 2000, and it was Infineon C166 built into old Siemens SL45i cellphone. Since then I’ve managed code for variety of architectures, from 8-bit to 64-bit, with and without OS API. I’ve played with Intel 8051 (e.g. Multithread Environment System), Infineon C166 (arcade game Archer for Siemens SL45i), many ARM-based devices (with and without Thumb mode, mostly mobile devices). At some point there was also Intel 8080 and 8086, but I have nothing special to present. Of course, I’ve programmed for x86 and x86-64 too. I am also familiar with the CIL (Common Intermediate Language) – Microsoft .NET “objective assembler”.
I’ve decompiled and debugged hundreds of programs. It was mostly x86, ARM and C166 architectures, but also CIL and many others. I could modify software (MSI Wind – Control manager patch), discover file formats (Blackberry COD file format), discover network protocols (Samsung TV Network Remote Control protocol), unpack packed executables (unpacking PKLITE), port software into another machine/architecture (porting AutoMapa to SimPAD) and of course crack software. I posted here some of my work, but I am not allowed to publish most of them.
I’ve started reversing with mobile phones firmware. It was Siemens SL45i with the Infineon C166 CPU. I’ve created some easy-to-use firmware modifications and later some native applications loaded from memory card, using discovered firmware functions.
My second cellphone was Siemens SX1 with Texas Instruments OMAP310 ARM9 CPU (with Symbian OS). I’ve created several firmware patches. I have some experience with other ARM‘s (old HTC and Blackberry smartphones) and StrongARM (Siemens SimPAD tablet – I’ve ported AutoMapa to run on this architecture) also.
I know how to project and build electronic hardware, I’ve made several devices with microcontrolers (clocks, motor drivers, interfaces connected to PC) and other digital and analogue devices (amplifiers, speaker filters, etc.). I know how to solder (including SMD technology), project and create PCB (Printed Circuit Board). I am able to create device with microcontroler from the beginning to end including projecting, creating PCB, soldering and programming.
I’ve successfully repaired hundreds of cellphones, laptops and other devices.