2023-04-18 05:02:50 -05:00
2023-04-18 04:57:27 -05:00
2023-03-22 09:33:22 -05:00
2023-04-18 05:02:50 -05:00
2023-04-18 05:02:50 -05:00
2023-02-14 20:12:10 -06:00
2023-04-18 04:57:27 -05:00
2023-02-16 17:04:02 -06:00
2023-02-19 21:03:07 -06:00
2023-02-16 17:04:02 -06:00
2023-04-05 22:42:47 -05:00

Dna

Dna is a static analysis framework for x86/x64, mainly geared towards deobfuscation. It offers:

  • Instruction semantics for x86/x64 via TritonTranslator
  • Symbolic execution
  • Mixed boolean-arithmetic(MBA) simplification
  • SMT solver integration
  • Control flow graph recovery
  • Lifting to LLVM IR
  • Decompilation(via Rellic)
  • Emulation
  • Parsing of executable file formats
  • Visualization of control flow graphs
  • IR optimization passes
  • Function relocation(optionally across binaries, with some caveats)

You can find an example usage here.

Roadmap

  • SMT solver interface
  • Symbolic execution engine
  • Mixed boolean-arithmetic(MBA) simplifier
  • Decompilation to pseudo C
  • Jump table recovery
  • Compiler back to x86/x64

Setup

The .NET component of Dna is supported on Windows, Linux, and Mac OSX. The C++ component(LLVM.Interop) has been used exclusively on windows.

To get the C++ component building, extract this precompiled version of llvm to the root directory of Dna.

S
Description
Automated archival mirror of github.com/Colton1skees/Dna
Readme 1.5 MiB
Languages
C++ 51.9%
C# 47.1%
CMake 0.6%
C 0.4%