上QQ阅读APP看书,第一时间看更新
第1章 二进制简介
二进制分析就是关于分析二进制的技术。但究竟什么才是二进制?本章我们将向你介绍二进制格式和二进制生命周期。
阅读本章后,你应该可以更好地理解第2章和第3章。ELF格式和PE格式是Linux和Windows操作系统上使用最广泛的二进制格式。
现代计算机使用二进制数字系统执行计算,二进制数字系统将所有数字表示为由1和0组成的字符串。这些系统所执行的机器码被称为二进制代码。每个程序都包含一组二进制代码(机器指令)和数据(变量、常量等)。为了跟踪指定系统上不同的程序,你需要一种方法将属于每个程序的所有代码和数据存储在一个自包含文件中。因为这些文件包含可执行的二进制文件,所以它们被称为二进制可执行文件,或者二进制文件。分析这些二进制文件是本书的目标。
在深入了解ELF和PE等二进制格式之前,让我们先从如何编译源代码生成可执行二进制文件说起。之后,我会反汇编一个二进制文件样本,让你对二进制文件包含的代码和数据有充分的了解。你将会用在这里学到的知识来探索第2章和第3章中的ELF和PE二进制文件,并且你将会构建自己的二进制加载器来解析二进制文件,并在第4章中用它进行分析。