disas-bench
bddisasm
Our great sponsors
disas-bench | bddisasm | |
---|---|---|
2 | 3 | |
52 | 838 | |
- | 0.6% | |
0.0 | 7.3 | |
2 months ago | about 1 month ago | |
C | C | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
disas-bench
-
Pros and Cons of Rust for Cybersecurity
But, due to the young ecosystem, Rust isn't often the best choice for the 2nd category. There are exceptions: while working on a ROP exploitation CLI tool, I was surprised to find the top 3 fastest x86-64 disassemblers are all written in Rust. But other languages just have more mature security ecosystems. Python in particular has some amazing libraries like scapy and bindings for yara.
-
Just released v0.2.0 of bddisasm - a no_std x86/x86_64 instruction decoder which aims to provide as much information as possible about an instruction
I hate to be that guy, but I want to mention the disas-bench project, a open-source benchmark for various disassembler libraries, including bddisasm.
bddisasm
-
Just released v0.2.0 of bddisasm - a no_std x86/x86_64 instruction decoder which aims to provide as much information as possible about an instruction
You're probably right. The library was first developed for our in-house hypervisor and memory introspection engine, which needed a way to analyze and emulate instructions, so one of the main goals is to make this as easy as possible. There's a really really small [emulator](https://github.com/bitdefender/bddisasm/blob/master/bindings/rsbddisasm/bddisasm/examples/emulator.rs) example in the repo that showcases this.
-
bddisasm - Rust bindings for the Bitdefender x86/x86_64 instruction decoder
The code is available on GitHub (bddisasm-sys contains the FFI bindings, generated with bindgen, while bddisasm holds the higher-level API bindings).
What are some alternatives?
yara-python - The Python interface for YARA
iced - Blazing fast and correct x86/x64 disassembler, assembler, decoder, encoder for Rust, .NET, Java, Python, Lua
mishegos - A differential fuzzer for x86 decoders
x64dbg - An open-source user mode debugger for Windows. Optimized for reverse engineering and malware analysis.
xgadget - Fast, parallel, cross-variant ROP/JOP gadget search for x86/x64 binaries.
gifdec - small C GIF decoder
scapy - Scapy: the Python-based interactive packet manipulation program & library. Supports Python 2 & Python 3.
fadec - A fast and lightweight decoder for x86 and x86-64 and encoder for x86-64.
bufferoverflow - This repo educates developers about BOF vulnerabilities and provides practical solutions to prevent these risks. It equips developers with knowledge and tools to counter one of the most common security vulnerabilities.
xng-rs - A Rust wrapper for the Xtratum Next Generation API