The beauty of emulation is that it can fool the operating system into thinking that it is running on a certain CPU architecture. The drawback is noticeably slow performance, since almost every instruction is interpreted. To explain CPUs briefly, there are two CPU architecture designs: Complex Instruction Set Computing (CISC) and Reduced Instruction Set Computing (RISC). In assembly programming, CISC would only require a few instructions. For example, a single arithmetic instruction, such as MUL, executes lower-level instructions in it. In RISC, a low-level program should be carefully optimized. In effect, CISC has the advantage of requiring less memory space, but a single instruction would require more time to execute. On the other hand, RISC has better performance, since it executes instructions in a simplistic way. However, if a code is not properly...
Mastering Reverse Engineering
By :
Mastering Reverse Engineering
By:
Overview of this book
If you want to analyze software in order to exploit its weaknesses and strengthen its defenses, then you should explore reverse engineering. Reverse Engineering is a hackerfriendly tool used to expose security flaws and questionable privacy practices.In this book, you will learn how to analyse software even without having access to its source code or design documents. You will start off by learning the low-level language used to communicate with the computer and then move on to covering reverse engineering techniques. Next, you will explore analysis techniques using real-world tools such as IDA Pro and x86dbg. As you progress through the chapters, you will walk through use cases encountered in reverse engineering, such as encryption and compression, used to obfuscate code, and how to to identify and overcome anti-debugging and anti-analysis tricks. Lastly, you will learn how to analyse other types of files that contain code.
By the end of this book, you will have the confidence to perform reverse engineering.
Table of Contents (15 chapters)
Preface
Free Chapter
Preparing to Reverse
Identification and Extraction of Hidden Components
The Low-Level Language
Static and Dynamic Reversing
Tools of the Trade
RE in Linux Platforms
RE for Windows Platforms
Sandboxing - Virtualization as a Component for RE
Binary Obfuscation Techniques
Packing and Encryption
Anti-analysis Tricks
Practical Reverse Engineering of a Windows Executable
Reversing Various File Types
Other Books You May Enjoy
Customer Reviews