Reversing : The Hacker's Guide to Reverse Engineering
language is thelanguage of reversing. To master the world of reversing, one must develop a solid understanding of the chosen pla ...
and generates a corresponding machine code file. Depending on the high-level language, this machine code can either be a standar ...
don’t need to worry about platform compatibility. All they must do is provide their customers with a bytecode version of their p ...
System-Level Reversing System-level reversing involves running various tools on the program and uti- lizing various operating sy ...
introduces the specific tools that will be used throughout this book. Let’s take a brief look at the different types of tools yo ...
Debuggers allow users to trace through a program while it is running (this is also known as single-stepping). Tracing means the ...
Is Reversing Legal? The legal debate around reverse engineering has been going on for years. It usually revolves around the ques ...
Competition When used for interoperability, reverse engineering clearly benefits society because it simplifies (or enables) the ...
to apply some kind of decompilation process to a program and recompile its output in a way that generates a binary with identica ...
Trade Secrets and Patents When a new technology is developed, developers are usually faced with two primary options for protecti ...
■■ The development of circumvention technologies: This means that a per- son may not develop or make available any product or te ...
DMCA Cases The DMCA is relatively new as far as laws go, and therefore it hasn’t really been used extensively so far. There have ...
License Agreement Considerations In light of the fact that other than the DMCA there are no laws that directly prohibit or restr ...
...
25 This chapter provides an introduction to low-level software, which is a critical aspect of the field of reverse engineering. ...
High-Level Perspectives Let’s review some basic software development concepts as they are viewed from the perspective of convent ...
source files and libraries are all linked into a single executable, many function boundaries are eliminated through inlining and ...
Modules The largest building block for a program is the module. Modules are simply binary files that contain isolated areas of a ...
The next logical leap that supersedes procedures is to divide a program into objects. Designing a program using objects is an en ...
managed in the program. This requires two perspectives: the high-level per- spective as viewed by software developers and the lo ...
«
1
2
3
4
5
6
7
8
9
10
»
Free download pdf