dbeaengine[1] is a simple BeaEngine[2] interface for the D
programming language. The BeaEngine is an X86 and X86_64 library
which can be used to disassemble X86 and X86_64 byte-code.
The programming interface is simple and outrageously easy to use
(a single function named `disassemble()` ).
This D binding doesn't add a layout over the original API but the
`enum`, `struct` and their members names are more D-friendly.
Additionaly, safety is introduced by turning `const` every data
set by Bea, which avoids any unintentional modification of the
results.
--
The project includes:
- the original C sources and some script to build the engine as
an object.
- the di interface, a bit tweaked as mentioned in the intro.
- a Coedit project and the equivalent shell scripts to build the
engine as a static library.
- a sample application which disassembles itself at run-time.
Misc:
- mostly licensed under the terms of the LGPL v3.
- credit go to the original authors, this is a simple interface!
- tested under win32 and nux64.
- beta, some doc. comments are missing, and `ArgType`[3] may be
decomposed to avoid bit-masking.
--
[1]: http://www.beaengine.org/
[2]: https://github.com/BBasile/dbeaengine
[3]:
https://github.com/BBasile/dbeaengine/blob/master/interface/beaengine.di#L168