GNU is an extensive collection of free software, which can be used as an operating system or can be used in parts with other operating systems.
"Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called “Linux” distributions are really distributions of GNU/Linux."
Richard Stallman
GCC是GNU中用于编译的工具,其全称是 GNU Compiler Collection。将C/C++源代码用GCC/G++编译成可执行的二进制文件后,后续还有很多有用的工具可以支持调试、反编译、及二进制代码分析的工作,例如知名的gdb工具。熟悉和了解这些工具对于逆向工程、系统安全、软件分析等非常有帮助。
首先给出的是用于后续演示的C语言示例程序 demo_code01.c:
- #include
- #include "myhead.h"
-
- int foo1(int y){
-
- int flag = 10, new_value = 13;
- int reverse = 0, remainder;
-
- if(y % 4 == 0)
- {
- if(y %