Metadata-Version: 2.4
Name: pwninit.py
Version: 0.1.6
Summary: A comprehensive Python toolkit for CTF exploit development.
Project-URL: Homepage, https://github.com/Super-Botman/pwninit.py
Author-email: 0xb0tm4n <0xb0tm4n@proton.me>
License-File: LICENCE
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.12
Requires-Dist: docker
Requires-Dist: frida
Requires-Dist: lz4
Requires-Dist: mako
Requires-Dist: pwntools
Requires-Dist: python-magic
Provides-Extra: dev
Requires-Dist: pytest-ordering>=0.6.0; extra == 'dev'
Requires-Dist: pytest-timeout>=2.2.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# pwninit

![Tests Status](https://github.com/Super-Botman/pwninit.py/actions/workflows/tests.yml/badge.svg)

A Python toolkit for CTF binary exploitation. Streamline setup, development, and execution of exploits with automated binary analysis, library management, and template generation.

📖 **Full documentation**: [pwninit.0xb0tm4n.org](https://pwninit.0xb0tm4n.org)

## Installation

```sh
pip install pwninit.py
```

## Basic Usage Example

Setup the chall:

```sh
$ pwninit
```

Edit exploit.py:

```python
from pwninit import *

Config(
    binary="./chall",
    libc="./libc.so.6"
)


def setup(args: Args, config: Config):
    open("flag.txt", "w").write('flag{hello}')


def exploit(ctx: PwnContext, io: IOContext):
    exe = ctx.elf
    libc = ctx.libc

    ctx.offset = 128
    sl(ret2win('shell', ret=False))
    itrv()
```

Run the exploit:

```sh
$ run
```
