标签归档:assembly

Pwntools-CTF框架和开发开发库

pwntools-CTF工具包

Pwntools是一个CTF框架和开发开发库。它是用Python编写的,专为快速原型和开发而设计,旨在使利用代码尽可能简单

from pwn import *
context(arch = 'i386', os = 'linux')

r = remote('exploitme.example.com', 31337)
# EXPLOIT CODE GOES HERE
r.send(asm(shellcraft.sh()))
r.interactive()

文档

我们的文档位于docs.pwntools.com

还提供了一系列教程available online

为了帮助您入门,我们为过去的CTF挑战提供了一些示例解决方案,在我们的write-ups repository

安装

Pwntools最受64位Ubuntu LTS版本(14.04、16.04、18.04和20.04)的支持。大多数功能应该适用于任何类似POSIX的发行版(Debian、Arch、FreeBSD、OSX等)

建议使用Python3,但Pwntools仍然适用于Python2.7。pwntools的大部分功能都是自包含的,并且只支持Python。您应该能够快速使用

apt-get update
apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pwntools

但是,某些特性(组装/反汇编外来体系结构)需要非Python依赖项。有关更多信息,请参阅complete installation instructions here

贡献

看见CONTRIBUTING.md

联系方式和社区

如果您有任何不值得回答的问题bug report,加入不一致服务器,地址为https://discord.gg/96VA2zvjCB

Gdb-dashboard-Python中GDB的模块化可视化界面

GDB仪表板

GDB仪表板是独立的.gdbinit属性编写的文件。Python API这使得模块化界面能够显示关于正在调试的程序的相关信息。它的主要目标是减少检查当前程序状态所需的GDB命令的数量,从而允许开发人员主要关注控制流

快速入门

只要放好位置就行了.gdbinit在您的主目录中,例如使用:

wget -P ~ https://git.io/.gdbinit

可选安装Pygments要启用语法突出显示,请执行以下操作:

pip install pygments

然后照常调试,每次下级程序停止时仪表板都会自动出现

请记住,尚未重新定义任何gdb命令,相反,所有功能都可以通过Maindashboard命令(请参见help dashboard)

前往wiki学习如何执行最重要的任务