Gallopsled / Gallopsled/pwntools
Is there a fundamental challenge in the way of windows / PE support or is it just a matter of contribution?
- Dominant language
- Python
- Stars
- 13.7k
- Forks
- 1.9k
- Avg merge
- 6d 23h
- Merged PRs (30d)
- 3
Description
After learning about pwntools I was impressed with how much easier it makes the manual process of exploit development. Then I tried using it for a PE file to do some Windows exploit development and was disappointed to find there doesn't seem to be support for it. Well in pen-testing world, most corporate environments are not Linux. So it seems like obviously if there weren't some fundamental challenge making this capability harder to achieve within windows, someone would've added support for it here.
Just in case some features support PE or something, I'll show an example of the features that only seem to not work for Windows exploit dev:
```
from pwn import *
elf = ELF("./exploit") # reminds the user that only ELFs are supported,
# I presume. There appears to be no PE class
p = process("./exploit")
p.sendline(cyclic(200, n=8))
p.wait()
core = p.corefile
print(cyclic_find(core.read(core.rsp, 8), n=8))
```
So I'm just curious, what is the challenge? Why is there support for ELF files and not PE? Is it just a matter of someone putting in the work or is there something fundamentally more difficult for supporting PE files?
Contributor guide
Research direction
The issue names no implementation files, tests, or entry points. Start by examining the existing ELF, process, and corefile support referenced in the example, then determine the scope and feasibility of PE support on Windows. Done would require a documented implementation plan or a maintainer decision about whether the feature is supported.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- operating-systems, reverse-engineering, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100