Skip to main content

Crate neo_decompiler

Crate neo_decompiler 

Source
Expand description

Minimal Neo N3 NEF bytecode tooling.

This crate provides a deliberately small and well tested toolkit for inspecting Neo N3 NEF files. It focuses on parsing the NEF container, decoding a handful of common opcodes, and exposing a simple API that other applications (including the CLI binary in this repository) can use.

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.