donna

debugger often named “never again” (donna) is a debugger and analyzer made for ELF executables in Linux. Competitor to gdb or lldb

Created by me , so feel free to change and modify it , as long as you don’t sell it ,copy it,etc…

i’m not into you, i’m donna.

donna provides you with webserver that you can connect to with localhost:80 also donna provides you with a backend shell (donna shell) to set and use breakpoints

Screenshot from 2022-03-18 15-35-44

if you are not a fan of webservers, you can just use terminal version.

Example:

Screenshot from 2022-03-18 15-34-21

code that was disassembled, but in C:

#include <stdio.h> int main(){ int a = 25; printf(“\nA is %d\n”,a); if(a>0) printf(“\nA is positive.\n”); else printf(“\nA is negative.\n”); }

Breakpoint from terminal:

Screenshot from 2022-03-18 15-34-47

you can also follow traces , branches , etc with donna , as long as it is not too big (max 25 traces) 🙂 Screenshot from 2022-03-18 15-36-11

Limitations of donna:

well , i didn’t really put too much time into this , so it could be used for basic reverse engineering, but it works kind of ok tbh. feel free to help me make donna great by contributing updates and fixes!

donna only works on debian Linux , more preferably , Ubuntu 18.04 and higher!

manual:

Screenshot from 2022-03-18 15-34-01 Build donna with setup.sh script.

Techonologies used to create donna

I used C++ for donna my techniques that i learned are used to actually disassemble elf files(not the best choice , but had no other option) im using ptrace for tracing the process ,setting the breakpoint with PTRACE_PEEKDATA and PTRACE_POKEDATA And used python3 ,HTMl,CSS for web. ofc , flask runs the server. (no hassle)

have a nice day.

GitHub

View Github