The Volatility Framework
volatility.addrspace.BaseAddressSpace Class Reference

This is the base class of all Address Spaces. More...

Inheritance diagram for volatility.addrspace.BaseAddressSpace:
volatility.addrspace.AbstractDiscreteAllocMemory volatility.addrspace.BufferAddressSpace volatility.plugins.addrspaces.hibernate.WindowsHiberFileSpace32 volatility.plugins.addrspaces.ieee1394.FirewireAddressSpace volatility.plugins.addrspaces.standard.FileAddressSpace volatility.win32.hive.HiveAddressSpace volatility.win32.hive.HiveFileAddressSpace volatility.addrspace.AbstractRunBasedMemory volatility.addrspace.AbstractVirtualAddressSpace volatility.plugins.addrspaces.hpak.HPAKAddressSpace volatility.plugins.addrspaces.crash.WindowsCrashDumpSpace32 volatility.plugins.addrspaces.elfcoredump.VirtualBoxCoreDumpElf64 volatility.plugins.addrspaces.lime.LimeAddressSpace volatility.plugins.addrspaces.macho.MachOAddressSpace volatility.plugins.addrspaces.osxpmemelf.OSXPmemELF volatility.plugins.addrspaces.vmem.VMWareMetaAddressSpace volatility.plugins.addrspaces.vmware.VMWareAddressSpace volatility.plugins.addrspaces.paged.AbstractPagedMemory

Public Member Functions

def __init__ (self, base, config, _args, _kwargs)
 base is the AS we will be stacking on top of, opts are options which we may use.
 
def get_config (self)
 Returns the config object used by the vm for use in other vms.
 
def is_valid_profile (self, profile)
 Determines whether a selected profile is compatible with this address space.
 
def as_assert
 Duplicate for the assert command (so that optimizations don't disable them) More...
 
def __eq__ (self, other)
 
def __ne__ (self, other)
 
def read (self, addr, length)
 Read some data from a certain offset.
 
def zread (self, addr, length)
 Read data from a certain offset padded with where data is not available.
 
def get_available_addresses (self)
 Return a generator of address ranges as (offset, size) covered by this AS sorted by offset. More...
 
def is_valid_address (self, _addr)
 Tell us if the address is valid.
 
def write (self, _addr, _buf)
 
def __getstate__ (self)
 Serialise this address space efficiently.
 
def __setstate__ (self, state)
 
def address_mask (cls, addr)
 Masks an address value for this address space.
 
def address_compare (cls, a, b)
 Compares two addresses, a and b, and return -1 if a is less than b, 0 if they're equal and 1 if a is greater than b.
 
def address_equality (cls, a, b)
 Compare two addresses and returns True if they're the same, or False if they're not.
 
def physical_space (self)
 Return the underlying physical layer, if there is one. More...
 

Static Public Member Functions

def register_options (config)
 

Public Attributes

 base
 
 name
 
 profile
 

Detailed Description

This is the base class of all Address Spaces.

Member Function Documentation

def volatility.addrspace.BaseAddressSpace.as_assert (   self,
  assertion,
  error = None 
)

Duplicate for the assert command (so that optimizations don't disable them)

It had to be called as_assert, since assert is a keyword

def volatility.addrspace.BaseAddressSpace.get_available_addresses (   self)

Return a generator of address ranges as (offset, size) covered by this AS sorted by offset.

The address ranges produced must be disjoint (no overlaps) and not be continuous (there must be a gap between two ranges).

def volatility.addrspace.BaseAddressSpace.physical_space (   self)

Return the underlying physical layer, if there is one.

This cycles through the base address spaces and returns the first one that's not an ancestor of a virtual space.


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