预备知识
一、相关实验
本实验要求您已经认真学习和完成了《CTF-PWN练习》以及《CTF-PWN练习之精确覆盖变量数据》。
二、objdump使用
使用objdump工具可以查看一个目标文件的许多内部信息,objdump有许多可选的参数选项,通过控制这些参数选项可以输出不同的文件信息。
本实验中,在对二进制程序进行分析时,我们可以使用objdump获取二进制程序中代码段的反汇编指令列表,从而获取某一个函数的具体地址信息。
本实验的程序和代码位于/home/test/4目录下,执行objdump -d pwn4可以看到关于pwn4程序的反汇编指令列表,其中-d选项表示进行反汇编操作,如图:
三、函数指针
函数指针(Function Pointer)是指向函数的指针,函数指针可以像一般函数一样,用于调用函数、传递参数。在C/C++这样的语言中,通过提供一个简单的选取、执行函数的方法,函数指针可以简化代码。
函数指针只能指向具有特定特征的函数,因而所有被同一指针运用的函数必须具有相同的参数和返回类型。<