Module assembly

Module assembly 

Expand description

Assembly/Disassembly Module

§Getting Started

One can start disassembling code by using the different functions exposes in the crate::generic::Binary trait:

fn disassemble(target: &dyn lief::generic::Binary) {
    for inst in target.disassemble_symbol("_entrypoint") {
        println!("{}", inst.to_string());
    }
}

An instruction is represented by the enum: Instructions which implements the trait Instruction.

For architecture-dependant API, you can check the following structures:

Modules§

aarch64
AArch64 architecture-related namespace
arm
ARM architecture-related namespace
config
ebpf
eBPF architecture-related namespace
instruction
Module related to assembly instructions
mips
Mips architecture-related namespace
powerpc
PowerPC architecture-related namespace
riscv
RISC-V architecture-related namespace
x86
x86/x86-64 architecture-related namespace

Structs§

AssemblerConfig
This structure exposes the different elements that can be configured to assemble code.

Enums§

Instructions
All instruction variants supported by LIEF

Traits§

Instruction
This trait is shared by all Instructions supported by LIEF