[CTF]-PWN:C++文件更换libc方法(WSL)

文章详细描述了C++程序在更换不同版本的glibc时,除了libc和ld的替换,还需注意libstdc++和libgcc_s.so.1的处理方法,包括使用patchelf工具进行动态链接器设置和从Docker中获取对应版本的库文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++文件与C文件更换libc有很多不一样的地方,我是在写buu的ciscn_2019_final_3才意识到这个问题,C文件只需要更换libc和ld就可以了,但是C++文件不同,除了更换libc和ld,它还需要更换libstdc++.so.6和libgcc_s.so.1

更换libc和ld的方法我在那篇文章里讲了,这里就不重复讲了。主要是把更换libstdc++和libgcc的方法讲一下。

patchelf --set-interpreter 新的ld路径 文件名
patchelf --replace-needed 原来第二行的==>前的libc名 要更换成的libc 文件名

 libc2.23:

libc2.23(32位)(约ubuntu16):patchelf --set-interpreter /root/glibc-all-in-one/libs/2.23-0ubuntu3_i386/ld-2.23.so hacknote
libc2.23(32位)(约ubuntu16):patchelf --replace-needed libc.so.6 /root/glibc-all-in-one/libs/2.23-0ubuntu3_i386/libc-2.23.so hacknote

libc2.23(64位)(约ubuntu16):patchelf --set-interpreter /root/glibc-all-in-one/libs/2.23-0ubuntu3_amd64/ld-2.23.so babyrop2
libc2.23(64
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值