LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
LIEF::assembly::Engine Class Reference

This class interfaces the assembler/disassembler support. More...

#include <Engine.hpp>

Public Types

using instructions_it = iterator_range<Instruction::Iterator>
 Disassembly instruction iterator.

Public Member Functions

 Engine ()=delete
 Engine (std::unique_ptr< details::Engine > impl)
 Engine (const Engine &)=delete
Engineoperator= (const Engine &)=delete
 Engine (Engine &&) noexcept
Engineoperator= (Engine &&) noexcept
instructions_it disassemble (const uint8_t *buffer, size_t size, uint64_t addr)
 Disassemble the provided buffer with the address specified in the second parameter.
instructions_it disassemble (const std::vector< uint8_t > &bytes, uint64_t addr)
 Disassemble the given vector of bytes with the address specified in the second parameter.
std::vector< uint8_t > assemble (uint64_t address, const std::string &Asm, AssemblerConfig &config=AssemblerConfig::default_config())
std::vector< uint8_t > assemble (uint64_t address, const std::string &Asm, LIEF::Binary &bin, AssemblerConfig &config=AssemblerConfig::default_config())
std::vector< uint8_t > assemble (uint64_t address, const llvm::MCInst &inst, LIEF::Binary &bin)
std::vector< uint8_t > assemble (uint64_t address, const std::vector< llvm::MCInst > &inst, LIEF::Binary &bin)
 ~Engine ()

Detailed Description

This class interfaces the assembler/disassembler support.

Member Typedef Documentation

◆ instructions_it

Constructor & Destructor Documentation

◆ Engine() [1/4]

LIEF::assembly::Engine::Engine ( )
delete

Referenced by Engine(), Engine(), operator=(), and operator=().

◆ Engine() [2/4]

LIEF::assembly::Engine::Engine ( std::unique_ptr< details::Engine > impl)

◆ Engine() [3/4]

LIEF::assembly::Engine::Engine ( const Engine & )
delete

References Engine().

◆ Engine() [4/4]

LIEF::assembly::Engine::Engine ( Engine && )
noexcept

References Engine().

◆ ~Engine()

LIEF::assembly::Engine::~Engine ( )

References LIEF_LOCAL.

Member Function Documentation

◆ assemble() [1/4]

std::vector< uint8_t > LIEF::assembly::Engine::assemble ( uint64_t address,
const llvm::MCInst & inst,
LIEF::Binary & bin )

◆ assemble() [2/4]

std::vector< uint8_t > LIEF::assembly::Engine::assemble ( uint64_t address,
const std::string & Asm,
AssemblerConfig & config = AssemblerConfig::default_config() )

◆ assemble() [3/4]

std::vector< uint8_t > LIEF::assembly::Engine::assemble ( uint64_t address,
const std::string & Asm,
LIEF::Binary & bin,
AssemblerConfig & config = AssemblerConfig::default_config() )

◆ assemble() [4/4]

std::vector< uint8_t > LIEF::assembly::Engine::assemble ( uint64_t address,
const std::vector< llvm::MCInst > & inst,
LIEF::Binary & bin )

◆ disassemble() [1/2]

instructions_it LIEF::assembly::Engine::disassemble ( const std::vector< uint8_t > & bytes,
uint64_t addr )
inline

Disassemble the given vector of bytes with the address specified in the second parameter.

References disassemble().

◆ disassemble() [2/2]

instructions_it LIEF::assembly::Engine::disassemble ( const uint8_t * buffer,
size_t size,
uint64_t addr )

Disassemble the provided buffer with the address specified in the second parameter.

References disassemble().

Referenced by disassemble(), and disassemble().

◆ operator=() [1/2]

Engine & LIEF::assembly::Engine::operator= ( const Engine & )
delete

References Engine().

◆ operator=() [2/2]

Engine & LIEF::assembly::Engine::operator= ( Engine && )
noexcept

References Engine().


The documentation for this class was generated from the following file: