digitalmars.D.announce - dbeaengine - D binding for the BeaEngine disassembler
- Baz (29/29) Feb 16 2015 dbeaengine[1] is a simple BeaEngine[2] interface for the D
- Idle Reef Fly (3/7) Jun 26 2015 added library code to disasm in a single call:
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
Feb 16 2015
On Monday, 16 February 2015 at 23:10:07 UTC, Baz wrote: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.added library code to disasm in a single call: http://www.reddit.com/r/d_language/comments/3b6abf/coedit_beaengine_disassembler/?ref=share&ref_source=link
Jun 26 2015