Skip to content

dd86k/alicedbg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alice Debugger Project

Aiming to be a simple cross-platform framework for debugging and object inspection.

Fully written in D's BetterC mode, and available as a DUB package.

It is currently available for Windows, Linux, and FreeBSD, under x86, x86-64, Armv7, and AArch64.

Written from scratch for educational purposes.

Warnings

⚠️ This is a toy project with barely any features! ⚠️

There are currently no stable APIs. Every releases pre-1.0 will see frequent changes to the API.

None of the functions are currently thread-safe.

Compiling a static binary on one C runtime may not work on another due to specific behaviors when using ptrace(2).

Usage

Usage for alicedbg (debugger) and alicedump (dumper) can be looked in the repository Wiki, or invoking the --help argument.

The disassembly feature is provided by Capstone 4.0.2 when it is available on the system. For Windows, the dynamic library can be downloaded on GitHub.

For other platforms, package names are typically:

  • Debian, Ubuntu 22.04 and later, SUSE: libcapstone4
  • Ubuntu 20.04: libcapstone3 (4.0.1)
  • RHEL: capstone-devel
  • Alpine: capstone-dev

Capstone is licensed under the BSD 3-Clause license.

Hacking

There are two main branches:

  • marisa: Main development branch. Very unstable.
  • stable: Last released branch.

This project primarily uses DUB for compilation and unittesting.

Wiki contains more information on structure, features, and compilation instructions.

Contributing

Because I'm not very good at managing people and I tend to be a little too pedantic, I am currently not looking for contributors, sorry.

However, feel free to provide feedback regarding contributor management, features, enhancements, and fixes. It's appreciated.

License

This project is licensed under the BSD 3-Clause Clear license.