• Stars
    star
    126
  • Rank 284,543 (Top 6 %)
  • Language
    Python
  • License
    MIT License
  • Created over 2 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Binary Ninja plugin for Solana eBPF

bn-ebpf-solana

A pure-python Binary Ninja plugin for Solana EBPF.

See our introductory blog post.

Instruction lifting!

Solana SDK Structures!

Installation

Requirements:

pip install lief

Copy this directory into your Binary Ninja plugins folder and restart.

Features

  • Instruction Lifting: All EBPF instructions are lifted to LLIL
  • Accurate Memory Maps: We implement Solana-specific memory maps (0x{1/2/3/4}00000000 addresses for data/stack/heap/input)
  • Solana ELF Relocations: Solana-specific ELF relocations
  • Syscall Function Signatures: Full signatures for all of the Solana syscalls
  • (partial) Solana SDK Types: Type definitions for all Solana SDK objects. (fully complete for C, in-progress for Rust)

TODO:

  • Solana SDK Signature Matching: Automatically match common Solana SDK functions.