HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
longld
peda
Python2015–2023
longld / peda

peda

PEDA - Python Exploit Development Assistance for GDB

8Distinct people
8Mentions
0Explicit recommenders
6.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

PEDA - Python Exploit Development Assistance for GDB

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year8 dated mentions

Observed mentions: 2015-12-08 16:03:02 UTC to 2023-01-04 22:24:10 UTC.

0122015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC211
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101

What Hacker News says

8 sources
There are a lot of these types of tools already in the reverse engineering community (in order of lowest chance of breaking when you throw really weird stuff at it, in my experience): GEF: https://gef.readthedocs.io/en/master/ PWNDBG: https://github.com/pwndbg/pwndbg PEDA: https://github.com/longld/peda They also come with a slew of different features to aid in RE/exploit dev, but many of them are also useful for debugging really weird issues. Also if you don't need all the info these provide or just want to augment them, the tool you are looking for is "hook-stop" which allows you to execute a string of commands every time GDB pauses program execution.
In Hacked GDB Dashboard Puts It All on Display
With GDB you can use all of the glory that is printf, inside of the termal. This means terminal control codes, that you can use to change colors on the screen for syntax highlighting. peda is an excellent project that uses this to great success: https://github.com/longld/peda All of that being said... it's really not very practical. (: But, it CAN be done, and it is done, I'm just glad I'm not the person doing it.
In Debugging in Vim
First of all, you might want to check out the subreddit: /r/commandline https://www.reddit.com/r/commandline/ general commands - awk/grep/sed/wc - text file processing - convert (image magick) - image processing tool - cpulimit - limit the cpu usage of a process - fdupes - check for duplicate files and optionally remove them - pdftk - concatenate pdf files and more - https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ - rsync - back up tool - tmux - terminal multiplexer - almost always my first install - tree - view directory contents in a tree format - zcat/zmore - display a file that is compressed (e.g. zmore /var/log/syslog.2.gz) security/reverse engineering: - binwalk - search binary images for embedded files - gdb + peda - debugger with extensions - https://github.com/longld/peda - nmap - network scanning tool - radare2 - command li
Read the rest
ne dissassembler - https://github.com/radare/radare2 - scapy - network packet crafting - https://github.com/secdev/scapy - tshark - network traffic analyzer - tcpdump - network traffic analyzer - xxd - hexdump tool Bonus: - find - find files - I often use this to find files containing a string: $ cat bin/findstring #!/bin/sh find . -type f -exec grep -i -l "$@" {} \;
In Ask HN: What are your favorite terminal programs?
First of all, I agree! GDB without extensions is not that nice to use. But there exist several extensions (https://github.com/cyrus-and/gdb-dashboard, https://github.com/hugsy/gef, https://github.com/pwndbg/pwndbg, https://github.com/longld/peda, even though developed for it, these are not only useful for exploit dev!) that make it a lot better. > - No way to get a 16-column (bytes+ASCII) standard hexdump. This is functionality that even the most basic debugger should have, yet it's missing from gdb. This should be quite easy to implement as a small python snippet that you put in your ~/.gdbinit. Granted, this should be builtin functionality, but it also shows how extensible GDB can be. > - If you write "b 0x12345" intending to set a breakpoint at address 0x12345, it doesn't work. An unnecessary and nonsensical extra asterisk is needed (w
Read the rest
hich makes it look like it's retrieving 4/8 bytes from 0x12345, and using that as the address of the breakpoint.) Agreed, I never understood why that was necessary. It is really annoying. Perhaps someone wanted to avoid a conflict if you had a symbol named "0x12345"? (can you even do that?) > - Starting gdb with a binary and passing arguments to it --- you'd expect it to be smart enough to realise that anything after the executable name should be the arguments to the debuggee and not the debugger, but it isnt. I recently learned that gdb has a neat option called --args, that does exactly this: gdb --args program arg1 arg2 GDB feels quite similar to VIM to me: you have to spent some time to get used to it, it has some warts but it is very flexible and useful if you know it.
In Give me 15 minutes and I'll change your view of GDB (2015) [video]
Since you already know how to use GDB and you're familiar with Assembly, Now i don't know how much Assembly you know, but you need to know how programs execute in memory, (stack , heap , syscalls.....), and once you have that clear in your mind, try to draw a map of thoughts about the logic of execution of this binary (it will be pretty simple, since it's generally small programs), look for the points and weaknesses in the logic that you might attack, one tool i use frequently is [0]peda, also using some visual gdb extension would be really helpful for you instead of checking and looking every time on how registers change values, sometimes a little knowledge about how compilers work and the OS you're working on will be really helpful although the binaries are independent in most cases, but extra knowledge is always useful. [0]https://git
Read the rest
In Ask HN: How to start solving binary challenges in a CTF

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.