mishegos
disas-bench
Our great sponsors
mishegos | disas-bench | |
---|---|---|
6 | 2 | |
219 | 52 | |
0.9% | - | |
8.2 | 0.0 | |
11 days ago | 2 months ago | |
C++ | C | |
Apache License 2.0 | MIT License |
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.
mishegos
-
Differ: Tool for testing and validating transformed programs
Differential fuzzing is woefully underutilized -- our experience is that it consistently[1] finds[2] bugs that "traditional" fuzzing techniques struggle to discover, and that the primary obstacles to its adoption are harness and orchestration complexity. DIFFER goes a long way towards overcoming those obstacles!
(FD: My company.)
[1]: https://github.com/trailofbits/mishegos
[2]: https://x509-limbo.com/
- Zydis v4 is out now, now featuring code generation and rewriting
-
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 may also want to check mishegos for another way of comparing different decoders.
-
Is Ghirda's Disassembly ASM output accurate enough?
Take a look at something like mishegos to see how sometimes the same instruction will be decoded differently by different disassemblers: https://github.com/trailofbits/mishegos
- Destroying x86_64 instruction decoders with differential fuzzing
-
Capstone Disassembler Framework
It sounds like what you want is Mishegos [1], described here [2].
[1] https://github.com/trailofbits/mishegos
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.
What are some alternatives?
sandsifter - The x86 processor fuzzer
bddisasm - bddisasm is a fast, lightweight, x86/x64 instruction decoder. The project also features a fast, basic, x86/x64 instruction emulator, designed specifically to detect shellcode-like behavior.
capstone - Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings. [Moved to: https://github.com/capstone-engine/capstone]
yara-python - The Python interface for YARA
xgadget - Fast, parallel, cross-variant ROP/JOP gadget search for x86/x64 binaries.
scapy - Scapy: the Python-based interactive packet manipulation program & library. Supports Python 2 & Python 3.