All Projects → 0xb0bb → Pwndra

0xb0bb / Pwndra

Licence: apache-2.0
A collection of pwn/CTF related utilities for Ghidra

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pwndra

Write Ups
📚 VoidHack CTF write-ups
Stars: ✭ 45 (-89.21%)
Mutual labels:  ctf, exploitation, pwn, reverse-engineering
Shellen
🌸 Interactive shellcoding environment to easily craft shellcodes
Stars: ✭ 799 (+91.61%)
Mutual labels:  ctf, exploitation, pwn
Slides
won't maintain
Stars: ✭ 79 (-81.06%)
Mutual labels:  ctf, pwn, reverse-engineering
how-to-exploit-a-double-free
How to exploit a double free vulnerability in 2021. Use After Free for Dummies
Stars: ✭ 1,165 (+179.38%)
Mutual labels:  pwn, ctf, exploitation
Gef
GEF (GDB Enhanced Features) - a modern experience for GDB with advanced debugging features for exploit developers & reverse engineers ☢
Stars: ✭ 4,197 (+906.47%)
Mutual labels:  ctf, pwn, reverse-engineering
Exrop
Automatic ROPChain Generation
Stars: ✭ 191 (-54.2%)
Mutual labels:  ctf, pwn, reverse-engineering
Ctf All In One
CTF竞赛权威指南
Stars: ✭ 2,807 (+573.14%)
Mutual labels:  ctf, pwn, reverse-engineering
NTU-Computer-Security
台大 計算機安全 - Pwn 簡報、影片、作業題目與解法 - Computer Security Fall 2019 @ CSIE NTU Taiwan
Stars: ✭ 293 (-29.74%)
Mutual labels:  pwn, ctf, exploitation
exploiting
Exploiting challenges in Linux and Windows
Stars: ✭ 122 (-70.74%)
Mutual labels:  pwn, ctf, exploitation
Hyperpwn
A hyper plugin to provide a flexible GDB GUI with the help of GEF, pwndbg or peda
Stars: ✭ 387 (-7.19%)
Mutual labels:  ctf, pwn, reverse-engineering
BinV
👓 Yet another binary vulnerbilities checker. An automated vulnerability scanner for ELF based on symbolic execution.
Stars: ✭ 25 (-94%)
Mutual labels:  pwn, ctf
FastPwn
CTF中Pwn的快速利用模板(包含awd pwn)
Stars: ✭ 18 (-95.68%)
Mutual labels:  pwn, ctf
winpwn
CTF windows pwntools
Stars: ✭ 137 (-67.15%)
Mutual labels:  pwn, ctf
Linux-Kernel-Exploitation
Linux kernel development & exploitation lab.
Stars: ✭ 130 (-68.82%)
Mutual labels:  pwn, ctf
CTF
My CTF tools & some other stuff
Stars: ✭ 17 (-95.92%)
Mutual labels:  pwn, ctf
pwnscripts
Very simple script(s) to hasten binary exploit creation
Stars: ✭ 66 (-84.17%)
Mutual labels:  pwn, ctf
Pinctf
Using Intel's PIN tool to solve CTF problems
Stars: ✭ 399 (-4.32%)
Mutual labels:  ctf, reverse-engineering
empirectf
EmpireCTF – write-ups, capture the flag, cybersecurity
Stars: ✭ 122 (-70.74%)
Mutual labels:  ctf, exploitation
My-PWN-Life
This is a PWN challenges repo.###### 1f y0u l1ke, g1v3 m3 a star~
Stars: ✭ 23 (-94.48%)
Mutual labels:  pwn, ctf
ctf-writeups
Writeups of CTF challenges
Stars: ✭ 19 (-95.44%)
Mutual labels:  pwn, ctf

pwndra

A collection of pwn/CTF related utilities for Ghidra

Utilities

Replace Constants

This utility will attempt to replace known constants in functions with their human readable counterpart.

pwndra constants

Annotate Syscalls

This utility will attempt to find and identify system calls (and arguments).

Annotation in the decompiler view pwndra syscalls

Arguments are annotated in the disassembler view pwndra syscalls

Character Conversion

The correct workflow to convert displayed data in an operand is to right click the value and select the conversion type under the Convert submenu, however, on request I have made a script to convert the display type of operands to char so it can be used with a keyboard shortcut for convenience (IDA style).

To use it select the In Tool option of the UtilitiesConvertCharacter.py script and then select a numeric operand and hit shift+r to convert to a string. You can change the shortcut by editing the line that contains the comment with keybinding in it at the top of the script.

Goto Main

One annoying difference between Ghidra and IDA is that Ghidra makes no attempt to jump to main() (or the entry point) when you load a binary. The UtilitiesGotoMain.py script aims to correct that. Run it directly or if integrated with In Tool then hit ctrl+m and it will attempt to dynamically find main() and move focus to that function.

If there is no main() function detected, it will jump to the entry function. If you run on a stripped binary then it will rename the main function for you.


Installation

Clone the repository or download and extract somewhere. In Ghidra, open the Script Manager (Window -> Script Manager) click the Script Directory buttom and add pwndra/scripts to the list.

Once the script directory is added to Ghidra you can find the scripts in the Pwn category. You can run the scripts directly from the Script Manager if you like but the scripts also have menus and keyboard shortcuts for ease of use. In order to activate the menus and shortcuts you must click the In Tool checkbox next to the scripts you wish to integrate into the tool.

If you clicked In Tool the menus will be under Analysis -> Pwn and any shortcuts for scripts are listed in the menu item that uses that shortcut.

Usage

There are several frontends available:

  • aarch64
  • amd64
  • arm (oabi/eabi)
  • hppa
  • i386
  • m68k
  • mips (n32/o32/n64)
  • powerpc
  • powerpc64
  • sh
  • sh4
  • sparc
  • sparc64
  • thumb

You can either run one of those frontend scripts directly (through the Script Manager or if you clicked In Tool you can access a menu; Analysis -> Pwn -> Tool Name).

There is an Auto frontend that will automatically detect the current loaded program for you. This can also be accessed with the keyboard shortcut which is specified in the menu item for the tool.

The scripts have two modes of operation, the default is to operate globally, the second is to only operate on a given selection. This is useful for those times where you have two binary modes interlaced in the same code such as i386/amd64 or thumb/arm.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].