Skip to main content

Crate neo_decompiler

Crate neo_decompiler 

Source
Expand description

Neo N3 NEF inspection, disassembly, and decompilation tooling.

This crate provides a well-tested toolkit for parsing NEF containers, decoding Neo VM bytecode, building CFG/SSA views, and rendering both high-level and C#-style outputs. It exposes the same core engine used by the CLI binary in this repository, so library and command-line workflows stay aligned.

Re-exports§

pub use crate::decompiler::analysis::call_graph::CallEdge;
pub use crate::decompiler::analysis::call_graph::CallGraph;
pub use crate::decompiler::analysis::call_graph::CallTarget;
pub use crate::decompiler::analysis::types::MethodTypes;
pub use crate::decompiler::analysis::types::TypeInfo;
pub use crate::decompiler::analysis::types::ValueType;
pub use crate::decompiler::analysis::xrefs::MethodXrefs;
pub use crate::decompiler::analysis::xrefs::SlotKind;
pub use crate::decompiler::analysis::xrefs::SlotXref;
pub use crate::decompiler::analysis::xrefs::Xrefs;
pub use crate::decompiler::analysis::MethodRef;
pub use crate::decompiler::cfg::ssa::DominanceInfo;
pub use crate::decompiler::cfg::ssa::PhiNode;
pub use crate::decompiler::cfg::ssa::SsaBlock;
pub use crate::decompiler::cfg::ssa::SsaConversion;
pub use crate::decompiler::cfg::ssa::SsaExpr;
pub use crate::decompiler::cfg::ssa::SsaForm;
pub use crate::decompiler::cfg::ssa::SsaStats;
pub use crate::decompiler::cfg::ssa::SsaStmt;
pub use crate::decompiler::cfg::ssa::SsaVariable;
pub use crate::decompiler::cfg::BasicBlock;
pub use crate::decompiler::cfg::BlockId;
pub use crate::decompiler::cfg::Cfg;
pub use crate::decompiler::cfg::CfgBuilder;
pub use crate::decompiler::cfg::Edge;
pub use crate::decompiler::cfg::EdgeKind;
pub use crate::decompiler::cfg::Terminator;
pub use crate::decompiler::Decompilation;
pub use crate::decompiler::Decompiler;
pub use crate::decompiler::OutputFormat;
pub use crate::disassembler::Disassembler;
pub use crate::disassembler::UnknownHandling;
pub use crate::error::Error;
pub use crate::error::Result;
pub use crate::instruction::Instruction;
pub use crate::instruction::OpCode;
pub use crate::instruction::Operand;
pub use crate::manifest::ContractManifest;
pub use crate::manifest::ManifestAbi;
pub use crate::manifest::ManifestFeatures;
pub use crate::manifest::ManifestMethod;
pub use crate::nef::MethodToken;
pub use crate::nef::NefFile;
pub use crate::nef::NefHeader;
pub use crate::nef::NefParser;

Modules§

cli
Command line interface for inspecting and decompiling Neo N3 NEF files.
decompiler
High-level decompilation pipeline shared by the library and CLI. Parses NEF, disassembles bytecode, lifts control flow, and renders text/C#.
disassembler
Stateless Neo VM bytecode decoder used by the decompiler and CLI. Converts raw byte buffers into structured instructions with operands.
error
Error types returned by the library.
instruction
Neo VM instruction and operand types.
manifest
Neo N3 contract manifest parsing and helpers.
native_contracts
Lookup information for Neo native contracts.
nef
Neo N3 NEF container parsing and helpers.
syscalls
Lookup table for Neo N3 syscall metadata.
web
Browser-friendly reports and optional WebAssembly bindings.