pwndbg操作方式个人总结(一)

将 pwndbg 输出重定向到另一个终端(TTY):

  1. 打开另一个终端

    • 启动一个新的终端窗口或在当前终端中使用 tmuxscreen 等工具分割出新的窗口。

    • 使用 tty 命令获取该终端的设备文件路径。例如:

      $ tty
      /dev/pts/1
      
  2. 在 pwndbg 中设置输出重定向

    • 在 GDB(pwndbg)中输入以下命令,将上下文输出重定向到新的终端:

      set context-output /dev/pts/1
      
    • 现在,pwndbg 的上下文信息(如 context 命令的输出)将显示在 /dev/pts/1 对应的终端中。

  3. 恢复默认设置(可选)

    • 想将输出恢复到默认终端,可以使用:

      set context-output /dev/tty
      

pwndbg的基础操作:

附上一个佬的原文链接,写的真的很厉害ovo就不重复赘述了

原文链接:https://blog.csdn.net/XiDPPython/article/details/142690569

Pwndbg 额外操作

特别适用于逆向工程和漏洞利用。以下是一些常用的 pwndbg 命令及其用途:

常用命令:

  1. context(或 ctx

    显示当前调试的上下文信息,包括寄存器、堆栈、代码和内存映射等。

    • 用法:
      • context:显示默认的上下文信息。
      • context code:仅显示代码段的反汇编。
      • context regs:仅显示寄存器信息。
      • context stack:仅显示堆栈内容。
      • context all:显示所有可用的上下文信息。
  2. hexdump

    以十六进制形式显示内存内容。

    • 用法:
      • hexdump ADDRESS:从指定地址开始显示内存内容。
  3. telescope

    类似于 hexdump,但提供更友好的内存查看方式,自动解析指针和字符串。

    • 用法:
      • telescope ADDRESS:从指定地址开始显示内存内容。
  4. vmmap

    显示当前进程的内存映射信息。

    • 用法:
      • vmmap:列出所有内存段及其权限。
  5. search

    在内存中搜索特定的字节序列或模式。

    • 用法:
      • search PATTERN:搜索指定的模式。
  6. pie

    处理位置无关可执行文件(PIE)的相关命令。

    • 用法:
      • pie breakpoint OFFSET:在偏移地址处设置断点。
  7. rop

    帮助查找 ROP(Return-Oriented Programming)小工具。

    • 用法:
      • rop:列出可用的 ROP 小工具。
  8. gotplt

    查看全局偏移量表(GOT)和过程链接表(PLT)。

    • 用法:
      • got:显示 GOT 表信息。
      • plt:显示 PLT 表信息。
  9. aslr

    控制地址空间布局随机化(ASLR)。

    • 用法:
      • aslr on:启用 ASLR。
      • aslr off:禁用 ASLR。
  10. elf-info

    显示当前可执行文件的 ELF 格式信息。

    • 用法:
      • elf-info:显示 ELF 文件的段和节信息。

pwndbg积累操作(本人个人经常会用到的一些操作)

(gdb) info functions win

All functions matching regular expression “win”: Non-debugging symbols:

0x080484cb win

还会更新

### 如何下载 Pwndbg 的 Tar 文件 Pwndbg 并不是个传统的软件包,因此它并没有提供标准的 `.tar` 文件供用户直接下载。然而,可以通过 Git 仓库克隆其源代码并手动打包成 `.tar` 文件。 以下是实现这目标的方法: #### 方法:通过 Git 克隆并创建 Tar 文件 1. 使用 `git clone` 命令从官方 GitHub 仓库获取 Pwndbg 源代码: ```bash git clone https://github.com/pwndbg/pwndbg.git ``` 2. 进入克隆下来的目录并将内容打包为 `.tar.gz` 文件: ```bash cd pwndbg tar -czvf pwndbg.tar.gz * ``` 此时会在当前目录生成名为 `pwndgb.tar.gz` 的文件,这就是所需的压缩包[^1]。 #### 方法二:利用 GitHub 提供的 Release 功能 GitHub 上通常会发布项目的稳定版本作为 Releases。对于 Pwndbg 来说,可以直接访问它的 Releases 页面来查找预构建的内容或者特定标签(tag)对应的源码压缩包链接: - 访问地址: [https://github.com/pwndbg/pwndbg/releases](https://github.com/pwndbg/pwndbg/releases) 点击任意个 release 版本页面中的 “Source code (tar.gz)” 链接即可获得对应版本号的 .tar.gz 文件[^2]。 --- ### 示例脚本用于自动化操作 如果希望简化上述过程,则可编写简单的 Bash 脚本来完成这些工作: ```bash #!/bin/bash # Step 1: Clone the repository into a temporary directory. REPO_URL="https://github.com/pwndbg/pwndbg" TEMP_DIR=$(mktemp -d) echo "Cloning ${REPO_URL} to ${TEMP_DIR}" git clone "${REPO_URL}" "$TEMP_DIR" # Step 2: Create TAR archive from cloned files. TAR_FILE="${PWD}/pwndbg-source.tar.gz" cd "$TEMP_DIR" && tar -czf "$TAR_FILE" . # Clean up and notify completion. rm -rf "$TEMP_DIR" echo "Created Pwndbg source archive at $TAR_FILE." ``` 运行此脚本之后,在执行路径下将会看到新生成好的 `pwndbg-source.tar.gz` 文件[^3]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

D_1yp

感谢充电~!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值