Loads of Electronics & Electrical projects

TO Get Tons & Tons of
projects on Electronics and
Electrical subjects
Click here
|
Home Hacking Reverse Engineering Intro 2
|
Prepare your own keygen or patch |
|
|
|
|
Written by Administrator
|
|
Thursday, 21 February 2008 |
|
Page 1 of 9 Intro to Reverse Engineering - Part 2
Prepare your own keygen or patch
In Part 1, Intro to Reverse Engineering - No Assembly Required,
we extended the series of coding articles for non-programmers with
an area of high interest in the infosec community. We're proud to be
able to bring you the highly anticipated follow-upcomplete with screen
shots, sample code and applications. This one is long and detailed,
so strap yourselves in for some great educational content.
This paper is designed to outline some essential reverse engineering concepts, tools and techniques - primarily, debuggers and using the debugging process to reverse engineer application functions and algorithms. It is assumed you have knowledge of basic assembly and C programming. An understanding of Win32 programming and API calls is also helpful. This tutorial does not necessarily have to be read in order (although it is strongly advised), as some sections do not contain information that directly relates to subsequent sections. However, if you begin skipping around and find that you have trouble understanding a concept, or feel like you missed an explanation, it would be best to go back to previous sections of the tutorial and read them first.
Before we begin...
The Windows platform was chosen as the focus of this paper. Because of Window's wide-spread use and its closed-source nature, RCE is performed most often on Windows applications. This tutorial is time-consuming and intense, so let's do a quick overview of the topics that will be covered:
- Introduction to debuggers, specifically, OllyDbg.
- Finding the beginning of the actual code (i.e., the main() function as opposed to code generated automatically by the compiler).
- Identifying how source code is translated into assembly instructions.
- Locating specific functions and API calls.
- Identifying and un-packing basic packers.
- Real-time debugging and patching.
- Serial fishing.
- Self-key generation.
- Translating disassembled functions and algorithms into higher-level languages (aka, creating key-generation programs the right way).
- Identifying and exploiting stack-based buffer overflows in closed source programs.
|
|
Last Updated ( Thursday, 16 October 2008 )
|
|
Who's Online
We have 13 guests and 10 members online
More Than 100 company's

Top company papers with
answers are avilable more
than 100 compan's
Click Here
|