mirror of
https://github.com/bitdefender/bddisasm.git
synced 2024-12-22 22:18:09 +00:00
.. | ||
bddisasm | ||
bddisasm-sys | ||
Cargo.toml | ||
fix_symlinks.sh | ||
README.md |
bddisasm Rust bindings
Build
Run cargo build
or cargo build --release
.
Directory structure
bddisasm-sys
This crate uses the *-sys crate convention and links with libbddisasm
, exposing a raw, low-level, interface.
bddisasm
This crate aims to offer a higher-level interface over bddisasm-sys.
Parts of it are auto-generated, with slight manual changes (for example, the Mnemonic
enum and related functions).
TODO
- encode registers, not just the register index (for example, instead of
Gpr
we should haveGpr::Rax
,Gpr::Eax
, etc) - more documentation for the
operand
module, with examples on how to work wit h each operand type - more examples for
cpuid
- more examples for
cpu_modes
- an API to check if an instruction is supported with certain CPU modes on or off (currently a user has to manually check the
CpuModes
structure) - implement
Display
for more types (especially those inoperand
) - remove the
bindgen
dev dependency? See this issue as to why we may want to do that - better directory structure