首页 > 其他分享 >如何使用 patchelf,如何简化pwn调试中的 Glibc 版本管理?

如何使用 patchelf,如何简化pwn调试中的 Glibc 版本管理?

时间:2025-01-21 20:53:36浏览次数:1  
标签:libc Glibc vir so.6 pwn patchelf glibc

在pwn的过程中,经常需要起本地环境,需要我们用到patchelf和glibc-all-in-one来配置环境,大体流程为:

strings libc.so.6 | grep GNU

确定libc.so.6版本

进入glibc-all-in-one:

cat list ./download version-of-glibc

patchelf 工具允许我们修改 ELF 文件的动态链接信息,包括:

设置 rpath:指定动态库的查找路径。
设置 interpreter:指定程序的 ld-linux 版本,确保程序能在正确的运行环境下执行。

patchelf --set-rpath . --set-interpreter ./glibc/libs/2.27-3ubuntu1.6_amd64/ld-2.27.so ./target_program

接下来可以检查我们文件的连接情况:

ldd ./target_program

由于上述过程过于繁杂,我写了一个自动化脚本执行此过程
项目地址:https://github.com/askdfkd/vir_patchelf
安装过程如下:

克隆本仓库到本地 :

git clone https://github.com/askdfkd/vir_patchelf.git cd vir_patchelf

通过 setup.sh 安装并配置全局命令:

chmod+x setup.sh ./setup.sh

使用方法如下:

将libc.so.6,target_programme放置于文件夹内,使用命令:

vir ./libc.so.6 ./you_file_names

即可完成链接

标签:libc,Glibc,vir,so.6,pwn,patchelf,glibc
From: https://www.cnblogs.com/ret2ldz/p/18684404

相关文章

  • 从0开始的ctf旅行之pwn篇
    *最后更新时间:2025-01-2110:17:43星期二*零、前言本篇文章是我个人从0开始打pwn的真实坐牢做题经验,包含了大量的参考链接和个人思考,绝大多数题目来自MoeCTF2024(https://ctf.xidian.edu.cn/)本文默认你有以下基础:python3会装虚拟机+基本的Linux操作C语言一、如何找题......
  • pwn4(栈迁移的类型一)
    可以先行了解栈迁移:栈迁移:CTFPwn中的技术揭秘与实战应用-CSDN博客ctfshow pwn入门75栈迁移之泄露地址题目intctfshow(){chars[36];//[esp+0h][ebp-28h]BYREFmemset(s,0,0x20u);read(0,s,0x30u);printf("Welcome,%s\n",s);puts("Whatdoyou......
  • CentOS7.9升级glibc到2.28
    目录源安装后期可算找到了对的文档,做了2天没做出来,一直报错,要不是他家的文档估计现在还做不出来,哎,为知识付个费用,也值我写的这份文档如果你没有执行成功,你需要联系卖家,因为我也还没具体弄懂哪是哪,不过确实成功升级了,也没啥问题,先解决了眼前问题再说吧源[root@c7-1~]#vim/......
  • pwn中的protobuf
    前置知识在gopwn的堆题中,经常会有结构体,在go中这些结构体就是通过protobuf来传递的如果抹除了protobuf的标志,那就只能手撕了,具体可以看CISCN里面的几个例子,如果没有抹除标志,那就可以用pbtk这个工具了实际操作中发现要先让pwn文件的可以正常执行后,再用pbtk,感觉这个有点像......
  • Pwncat --- 一款功能强大的反向Shell&Bindshell处理工具
               公众号:泷羽Sec---风宵Pwncat目录介绍:安装方法端口扫描和Banner抓取设为监听器Windows反向Shell本地端口转发发送和接收文件绑定Shell(Linux)介绍:   Pwncat作为一种强大且类似Netcat的工具,专为渗透测试人员及红队成员设......
  • [ 2024 · CISCN x 长城杯 ] pwn avm
    2024CISCNx长城杯AVMavmVM入门题。不过挺吃逆向经验的。之前都是复现,这算是第一次比赛的时候做出vm题。这个题的逆向思路非常经典,所以分享一下。1.程序逆向函数主函数如下:unsigned__int64__fastcallmain(__int64a1,char**a2,char**a3){_BYTEs[3080];//[rs......
  • PWN系列-2.27版本利用setcontext实现orw
    PWN系列-2.27版本利用setcontext实现orw知识开启沙箱之后,我们就只能用orw的方式来得到flag。这篇博客主要讲通过劫持__free_hook或者__malloc_hook利用setcontext在libc或者heap上执行rop或者shellcode。在free堆块的时候,rdi会指向堆块,在检测到__free_hook有值的情况下,会跳过......
  • CentOS7 升级glibc
    【glibc说明】glibc:glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于glibc囊括了几平所有的UNIX通行的标准,可以想见其内......
  • PolarCTF-Pwn(困难)WP
    1、ret2libc前期准备:int__fastcallmain(intargc,constchar**argv,constchar**envp){chars[112];//[rsp+0h][rbp-70h]BYREFsetvbuf(stdin,0LL,2,0LL);setvbuf(stdout,0LL,2,0LL);setvbuf(stderr,0LL,2,0LL);gets(s);puts(s);retu......
  • GUET 2024梦极光pwn2
    我们先简单地看一下程序发现它会跳转到challenge函数定义了数组buf和v2,v2已经给了初始值,buf用read函数读取后面用strcmp()将v2和guet555比较,如果相等(返回0)则会执行if段的内容,不相等的话会returnresult的结果。然后我们还可以看到有许多函数现在再回过头来看challenge里面的......