CTF-PWN练习之函数指针改写

这篇博客介绍了CTF-PWN中的函数指针改写技术,通过实验目的、环境、步骤详细阐述了如何利用objdump分析函数地址,通过缓冲区溢出修改函数指针,实现程序执行流程的控制。实验涉及源码审计、gdb调试和溢出攻击的实际操作。
摘要由CSDN通过智能技术生成

预备知识

一、相关实验

本实验要求您已经认真学习和完成了《CTF-PWN练习》以及《CTF-PWN练习之精确覆盖变量数据》。

二、objdump使用

使用objdump工具可以查看一个目标文件的许多内部信息,objdump有许多可选的参数选项,通过控制这些参数选项可以输出不同的文件信息。
本实验中,在对二进制程序进行分析时,我们可以使用objdump获取二进制程序中代码段的反汇编指令列表,从而获取某一个函数的具体地址信息。
本实验的程序和代码位于/home/test/4目录下,执行objdump -d pwn4可以看到关于pwn4程序的反汇编指令列表,其中-d选项表示进行反汇编操作,如图:
在这里插入图片描述

三、函数指针

函数指针(Function Pointer)是指向函数的指针,函数指针可以像一般函数一样,用于调用函数、传递参数。在C/C++这样的语言中,通过提供一个简单的选取、执行函数的方法,函数指针可以简化代码。
函数指针只能指向具有特定特征的函数,因而所有被同一指针运用的函数必须具有相同的参数和返回类型。<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值