mgbdis
pwndbg
Our great sponsors
mgbdis | pwndbg | |
---|---|---|
6 | 9 | |
224 | 6,667 | |
- | 3.3% | |
4.5 | 9.5 | |
8 months ago | 5 days ago | |
Python | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mgbdis
-
Exploring the Gameboy Memory Bank Controller (2020)
Game Boy disassembler: https://github.com/mattcurrie/mgbdis
You can compile the ROM's back with rgbds: https://github.com/gbdev/rgbds
Here you can see how bank switching works.
-
My GB studio said a file was missing so I reinstalled GB studio but now none of my projects open
You can get images out of it. Find the image locations in the ROM with a tool like YY-CHR, then annotate that location in the disassembler (like https://github.com/mattcurrie/mgbdis).
-
How to get game files?
By a search on Google, I found this link: https://github.com/mattcurrie/mgbdis
- mattcurrie/mgbdis: Game Boy ROM disassembler with RGBDS compatible output
-
Ghidra - Editing Gameboy ROM for Analogue Pocket
I didn't use Ghidra, I only used mgbdis to create a disassembly. Patched it and then reassemble it.
-
ROM Hacking Guide
You make it sound like there's a machine you can put a Game Boy ROM into and get out a disassembly, which is kinda true (https://github.com/mattcurrie/mgbdis) but it doesn't automatically split out data blocks or anything like that - it just tries to crawl the ROM and disassemble any code it can find. It's certainly not "effectively no additional work" than making targeted alterations to the binary and documenting your work.
And that's before you get to platforms where most if not all games are written in C - I question whether a mere disassembly of a game like Pokemon Emerald would even be useful to anyone, whereas the pokeemerald decompilation (https://github.com/pret/pokeemerald) is clearly useful but was a heck of a lot more work to produce.
> That's a hurdle, but not an insurmountable one... unless the system didn't even support banking. (Are there any systems that didn't?)
Depends what you mean by "support". I don't think any system has a built-in mapper - they just assign a chunk of memory space to the cartridge bus, and if your game is larger than that chunk of memory space you include a mapper on the cartridge. Nintendo provided standard mappers for machines like the NES and Game Boy because it's very hard to include a substantial game in the wedge of memory space you get on the processors in those machines, whereas only one game on the Genesis/Megadrive needed one.
pwndbg
-
Any tips for newish C debugging please.
By far the best debugger for C is gdb+pwndbg (https://github.com/pwndbg/pwndbg)
- Need help installing pwndbg on Kali Linux
-
Hacked GDB Dashboard Puts It All on Display
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):
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.
-
Debugging with GDB
GDB is great. I definitely recommend checking out watchpoints as well, a very useful tool for monitoring how a variable changes over time.
GDB also has many good plugins - pwndbg has tons of features and UI improvements over stock GDB.
-
Making GDB Easier: The TUI Interface
I've recently started a new semester for my Master's program, and the first project for the semester involves using the GDB tool (GNU Debugger) to analyze a stack on a simple C program that contains a buffer overflow vulnerability. A couple of semesters ago, I had been given a VM pre-loaded with a more featured debugger tool called pwndbg. Pwndbg was excellent because it was easy to use and easily allowed accessed to information such as current assembly code being executed and a view of the program registers. So, going back to using GDB felt a little like stepping back into the stone age.
-
Awesome CTF : Top Learning Resource Labs
Pwndbg - A GDB plugin that provides a suite of utilities to hack around GDB easily.
- Trouble downloading pwndbg
-
Problem in downloading pwndbg
i have peda installed on my gdb and now i am trying to install pwndbg with git clone https://github.com/pwndbg/pwndbg cd pwndbg ./setup.sh
What are some alternatives?
gb-studio - A quick and easy to use drag and drop retro game creator for your favourite handheld video game system
gef - GEF (GDB Enhanced Features) - a modern experience for GDB with advanced debugging capabilities for exploit devs & reverse engineers on Linux
pokered - Disassembly of Pokémon Red/Blue
peda - PEDA - Python Exploit Development Assistance for GDB
rgbds - Rednex Game Boy Development System - An assembly toolchain for the Nintendo Game Boy and Game Boy Color
pwntools - CTF framework and exploit development library
apkleaks - Scanning APK file for URIs, endpoints & secrets.
gdb-dashboard - Modular visual interface for GDB in Python
vivisect
one_gadget - The best tool for finding one gadget RCE in libc.so.6
PyBoy - Game Boy emulator written in Python
voltron - A hacky debugger UI for hackers