Struct hyperpom::core::VirtMem

source ·
pub struct VirtMem {
    pub mode: VirtMemMode,
    pub covtrace: RefCell<VirtMemAllocator>,
    pub covtrace_snapshot: RefCell<VirtMemAllocator>,
    pub backtrace: RefCell<VirtMemAllocator>,
    pub backtrace_snapshot: RefCell<VirtMemAllocator>,
}
Expand description

A wrapper structure for the coverage and backtrace address spaces. The current mode is defined by the value stored in mode which is either VirtMemMode::Coverage or VirtMemMode::Backtrace.

Fields

mode: VirtMemMode

The address space type currently in use by the fuzzer.

covtrace: RefCell<VirtMemAllocator>

The address space where coverage hooks are applied.

covtrace_snapshot: RefCell<VirtMemAllocator>

Snapshot of the address space where coverage hooks are applied.

backtrace: RefCell<VirtMemAllocator>

The address space where backtrace hooks are applied.

backtrace_snapshot: RefCell<VirtMemAllocator>

Snapshot of the address space where backtrace hooks are applied.

Implementations

Creates a new virtual memory wrapper structure.

Borrows the address space in the current mode.

Mutably borrows the address space in the current mode.

Borrows the snapshot of the address space in the current mode.

Mutably borrows the snapshot of the address space in the current mode.

Wrapper for VirtMemAllocator::map borrowing the address space currently in use.

Wrapper for VirtMemAllocator::map_privileged borrowing the address space currently in use.

Wrapper for VirtMemAllocator::unmap borrowing the address space currently in use.

Wrapper for VirtMemAllocator::restore_from_snapshot borrowing the address space currently in use.

Wrapper for VirtMemAllocator::read borrowing the address space currently in use.

Wrapper for VirtMemAllocator::read_byte borrowing the address space currently in use.

Wrapper for VirtMemAllocator::read_word borrowing the address space currently in use.

Wrapper for VirtMemAllocator::read_dword borrowing the address space currently in use.

Wrapper for VirtMemAllocator::read_qword borrowing the address space currently in use.

Wrapper for VirtMemAllocator::read_cstring borrowing the address space currently in use.

Wrapper for VirtMemAllocator::write borrowing the address space currently in use.

Wrapper for VirtMemAllocator::write_byte borrowing the address space currently in use.

Wrapper for VirtMemAllocator::write_word borrowing the address space currently in use.

Wrapper for VirtMemAllocator::write_dword borrowing the address space currently in use.

Wrapper for VirtMemAllocator::write_qword borrowing the address space currently in use.

Wrapper for VirtMemAllocator::write_cstring borrowing the address space currently in use.

Wrapper for VirtMemAllocator::write_dirty borrowing the address space currently in use.

Wrapper for VirtMemAllocator::write_byte_dirty borrowing the address space currently in use.

Wrapper for VirtMemAllocator::write_word_dirty borrowing the address space currently in use.

Wrapper for VirtMemAllocator::write_dword_dirty borrowing the address space currently in use.

Wrapper for VirtMemAllocator::write_qword_dirty borrowing the address space currently in use.

Wrapper for VirtMemAllocator::write_cstring_dirty borrowing the address space currently in use.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.