> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/useful-resources/exploit-development.md).

# Exploit Development

Exploit development practice notes for Linux and Windows buffer overflow labs, offsets, bad characters, shellcode, and payload delivery.

Buffer overflow practice notes for learning exploit development fundamentals: crash replication, offset discovery, bad character checks, shellcode placement, and controlled payload execution.

## Exploit Development Labs

<table data-view="cards" data-full-width="false" data-search="false"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h3><i class="fa-folder-tree" style="color:$primary;">:folder-tree:</i></h3></td><td><h4>Linux Buffer Overflow - Custom</h4></td><td>Custom Linux buffer overflow notes for building exploits, controlling execution flow, crafting payloads, and documenting memory corruption methodology.</td><td><a href="/useful-resources/exploit-development/linux-buffer-overflow-custom.md">Linux Buffer Overflow - Custom</a></td></tr><tr><td><h3><i class="fa-file-code" style="color:$primary;">:file-code:</i></h3></td><td><h4>Linux Buffer Overflow - Agent Binary</h4></td><td>Linux Agent binary buffer overflow notes for crash analysis, offset discovery, payload building, and exploit validation in CTF-style labs.</td><td><a href="/useful-resources/exploit-development/linux-buffer-overflow-agent-binary.md">Linux Buffer Overflow - Agent Binary</a></td></tr><tr><td><h3><i class="fa-envelope" style="color:$primary;">:envelope:</i></h3></td><td><h4>Windows Buffer Overflow - SLMail</h4></td><td>SLMail Windows buffer overflow notes for POP3 fuzzing, offset discovery, JMP ESP selection, shellcode delivery, and exploit validation.</td><td><a href="/useful-resources/exploit-development/windows-buffer-overflow-slmail.md">Windows Buffer Overflow - SLMail</a></td></tr><tr><td><h3><i class="fa-folder-tree" style="color:$primary;">:folder-tree:</i></h3></td><td><h4>Windows Buffer Overflow - MiniShare</h4></td><td>MiniShare Windows buffer overflow notes for fuzzing, EIP control, bad character analysis, shellcode generation, and exploit development practice.</td><td><a href="/useful-resources/exploit-development/windows-buffer-overflow-minishare.md">Windows Buffer Overflow - MiniShare</a></td></tr></tbody></table>

### Workflow

1. Reproduce the crash and control the input size.
2. Find the offset, verify instruction pointer control, and identify bad characters.
3. Place shellcode or a controlled payload and document each debugger checkpoint.
4. Keep exploit code, screenshots, offsets, registers, and commands together for reproducibility.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://hacking-notes.jord4n.pro/useful-resources/exploit-development.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
