Bastian Molkenthin - Sunshine2k

arrow Reverse Code Engineering

What is Reverse Code Engineering?

Wikipedia definition is : Reverse engineering (RE) is the process of discovering the technological principles of a device, object or system through analysis of its structure, function and operation. It often involves taking something (e.g. a mechanical device, electronic component, or software program) apart and analyzing its workings in detail, usually to try to make a new device or program that does the same thing without copying anything from the original.

Following articles are about Reverse Code Engineering (RCE). That is the process of discovering the behaviour and functionality of programs by decompiling, disassembling and investigating binary files. Because it is not allowed to reverse-engineer commercial applications (of course!) and to be 100% legal, only crackmes are targeted - these are small programs only coded with the target to be cracked.

So RCE is somehow a puzzle for computerfreaks - you need skills of programming, assembly, operating systems, binary file structure and sometimes also mathematics and cryptography - so it's a quite interesting and a cool way to test and enhance your knowledge about software and computers.

If I have awacken your interest keep on reading may tutorials and examples. You may also have a look atmy Links section where you can find the most important and best RCE-related websites.




arrow General RCE Tutorials & Articles

Code Injection - Inserting a message box into a .NET application at startup

Date : April 2013

Description :
Add a messagebox into a .NET PE file at the entrypoint of the application.

View article online
Download article & sources (59KB)



Cheating Minesweeper

Date : March 2006

Description :
Examaning Minesweeper and writing a little tool showing us the positions of all mines.

View article online
Download article & sources (9KB)



Understanding Import Table #2 - Manually adding imports

Date : October 2003

Description :
How to add imports to an import table and use these new functions. A bit more advanced so you should know the things from my earlier tuts.

View article online
Download article & files (57KB)



Code Injection for beginner : Inserting a MessageBox @ program start

Date : May 2002

Description :
My first code injection tutorial :-) We'll add a messagebox to a PE file which is shown every time you start the file.

View article online
Download article & files (7KB)



Understanding RVAs and Import Table

Date : May 2002

Description :
Explains how to convert virtual offsets to file offsets and how the import table in a PE is build up.

View article online
Download article (36KB)



Manually adding a section to a PE File

Date : January 2002

Description :
This tut explains how to add a new section to a PE file, taking care of important values in the PE header so that the file will remain legal and the new section will be loaded in memory.

View article online
Download article & example file (36KB)



PE File Format Offsets

Date : January 2002

Description :
This is not a real article, it's more a listing of the PE file format structure with the offset of every member.

View article online
Download article (4KB)






arrow Crackme / Reverseme Tutorials

Cracking TiGa's Vista Sidebar Gadget Crackme

Date : May 2008

Description :
Task is to remove nags, selfkeygen it and also write a keygen. What makes it special is that this crackme is a .gadget file which runs as a gadget inside Windows Vista Sidebar.

View article online
Download package (38KB)



Cracking bOne's KeyMe #1

Date : May 2007

Description :
Nice easy console crackme. Find a valid keys (but there are tons!). Bruteforcer included.

View article online
Download package (308KB)



Cracking Devoney's Crackme 2.0

Date : February 2007

Description :
Nice crackme; find the correct password to get a secret text which leads to the correct website.

View article online
Download package (9KB)



Cracking geeko's nagoya

Date : November 2006

Description :
Simple crackme; removing a nag window and finding the serial.

View article online
Download package (9KB)



Reversing "dihux's ReverseMe #1"

Date : July 2003

Description :
Interesting reverseme with 4 goals, e.g disabling an edit box or getting some text from it.

View article online
Download package (35KB)



Patching ParaBytes Nag Crackme

Date : May 2003

Description :
Nice easy crackme with one little extra check...

View article online
Download package (8KB)



Cracking "Simple crackme by Ozzman v2.0"

Date : February 2003

Description :
A really easy crackmes for beginner using a keyfile check.

View article online






arrow Crackmes

Sunshine's Crackme #1

Date : July 2010

Description :
My first coded crackme ever. It's quite simple but just be interesting nevertheless!
Level: 1 (Beginner)
OS: Tested with Windows XP and Windows 7
Goal : Register the crackme. Write a keygen and a solution.
Rules : No patching allowed - that would be far too easy... You have to find a valid key for your name.

Download (external link to crackmes.de)





This site is part of Sunshine's Homepage