Dna is a static analysis framework for x86/x64, mainly geared towards deobfuscation. It offers:
- Instruction semantics via TritonTranslator
- Symbolic execution
- Expression Simplification
- Parsing of executable file formats
- Control flow graph reconstruction
- Translation of routines to an intermediate representation
- Translation of routines to LLVM IR
- IR optimization passes
- Function relocation(optionally across binaries, with some caveats)
You can find an example usage here.
- SMT solver interface
- Symbolic execution engine
- Expression simplification engine
- SSA form construction
- IR to x86 compiler