DEV Community

Shino
Shino

Posted on

eDBG: eBPF-based Undetectable Debugger for Android Reverse Engineering

eDBG is a debugging tool based on eBPF technology, designed for Android native reverse engineering in highly adversarial environments. It provides essential debugging functionalities while avoiding any attachment to the target process. Unlike traditional debugging approaches, eDBG operates independently from the debugged program, with both interacting solely with the kernel. This design makes it extremely difficult for the target process to detect or interfere with the debugger.

Additionally, eDBG and the debugged program run in mutually isolated states. Breakpoints are not registered based on runtime addresses, ensuring that even if one side crashes or restarts unexpectedly, the other continues functioning normally.

Key Features
Core functionalities include:

  • Breakpoints: Implemented via uprobes, pausing execution and allowing inspection of arbitrary context.
  • Single-Step Debugging: Supports step into and step over.
  • Memory Read/Write: Read memory at any address or write to writable addresses during breakpoints.
  • ​Symbol Resolution, ​Disassembly, and other standard debugger features. Supported GDB Commands: break / continue / step / next / finish / until / examine / display / quit / list / info / thread

For detailed usage, refer to the ​README.

Requirements
Currently supports ​ARM64 Android (root required; KernelSU recommended).
Kernel version ​5.10+ (check with uname -r).

Like the project? Give it a ⭐ Star!
Suggestions, issues, and PRs are welcome!

Image of Quadratic

AI spreadsheet assistant for easy data analysis

Chat with your data and get insights in seconds with the all-in-one spreadsheet that connects to your data, supports code natively, and has built-in AI.

Try Quadratic free

Top comments (0)

#DEVDiscuss: The Future of AI cover image

Join the KendoReact Free Components Challenge: $5,000 in Prizes!

From data grids to toolbars to form components and more, KendoReact offers a comprehensive suite of UI components that every React developer should experience building with. With 50+ free components available, you'll have everything you need to build an impressive application.

Get started

👋 Kindness is contagious

Explore a trove of insights in this engaging article, celebrated within our welcoming DEV Community. Developers from every background are invited to join and enhance our shared wisdom.

A genuine "thank you" can truly uplift someone’s day. Feel free to express your gratitude in the comments below!

On DEV, our collective exchange of knowledge lightens the road ahead and strengthens our community bonds. Found something valuable here? A small thank you to the author can make a big difference.

Okay