Hasty Briefsbeta

Nyxstone: An LLVM-based (Dis)assembly Framework

10 days ago
  • #embedded-security
  • #assembly-tools
  • #binary-rewriting
  • Emproof's mission is to enhance embedded systems security through binary rewriting techniques.
  • Emproof Nyx is their flagship product, offering static binary instrumentation for protection measures like code obfuscation and exploit mitigations.
  • Binary rewriting involves lifting binaries to an intermediate representation, applying transformations, and lowering back to machine code.
  • Initially, Emproof used Capstone and Keystone for disassembling and assembling but found them lacking in features and error-prone.
  • Nyxstone was developed as a unified assembly and disassembly library based on LLVM, offering better error reporting and label support.
  • Nyxstone supports various architectures and ISA extensions, with flexible configuration options for CPUs and features.
  • The tool includes a CLI for assembling and disassembling instructions, with support for labels and specific architecture configurations.
  • Nyxstone is available as a library in C++, Rust, and Python, with detailed documentation and examples provided.
  • The project is open-sourced under the MIT license, encouraging community contributions and feedback.