- Mastering Reverse Engineering
- Reginald Wong
- 327字
- 2021-06-10 19:40:29
The Low-Level Language
The main piece of knowledge required in advance for any reverse engineer is assembly language. Understanding assembly language is like learning the ABCs of reversing. It may look hard at first, but eventually it will become like a muscle memory. Assembly language is the language that is used to communicate with the machine. The source code of a program can be understood by humans but not by the machine. The source code has to be compiled down to its assembly language code form for the machine to understand it.
But, as humans, what if the source code is not available? Our only way to understand what a program does is to read its assembly codes. In a way, what we are building here is a way to turn an assembly language code back to the source code. That would be why this is called reversing.
We will provide a brief introduction to assembly language, focusing on the x86 Intel architecture. So, why x86? There are a lot of architectures out there, such as 8080, ARM, MIPS, PowerPC, and SPARC, but we are focusing on Intel x86 as it is the most popular and widely used architecture today.
In this chapter, we will get to learn the basics of assembly language. We will start by reviewing binary numbers, followed by using assembly language instructions to implement binary arithmetic, we will then learn how to compile our own low-level program, and, finally, how to debug a program.
This chapter has been divided into sections. We will learn about the following:
- Binary numbers, bases, and the ASCII table
- x86 architecture
- Assembly language instructions
- Tools used to edit and compile an assembly-language source code
- Debugging tools
- Exceptions and error handling
- Windows APIs
- High-level language constructs
We will include instructions to set up and develop your assembly language code. This also comes with exercises that may help to inspire you to develop programs using assembly language.
- 攻守道:企業(yè)數(shù)字業(yè)務(wù)安全風(fēng)險(xiǎn)與防范
- Kali Linux Social Engineering
- 特種木馬防御與檢測(cè)技術(shù)研究
- Wireshark 2 Quick Start Guide
- INSTANT Burp Suite Starter
- 計(jì)算機(jī)病毒原理與防范(第2版)
- 局域網(wǎng)交換機(jī)安全
- 云原生安全技術(shù)實(shí)踐指南
- 物聯(lián)網(wǎng)安全滲透測(cè)試技術(shù)
- 解密數(shù)據(jù)恢復(fù)
- 人工智能安全(精裝版)
- Disaster Recovery Using VMware vSphere Replication and vCenter Site Recovery Manager
- Cybersecurity Threats,Malware Trends,and Strategies
- 極限黑客攻防:CTF賽題揭秘
- 黑客與安全技術(shù)指南