The Volatility Framework
volatility.obj.BaseObject Class Reference
Inheritance diagram for volatility.obj.BaseObject:
volatility.obj.Array volatility.obj.CType volatility.obj.NativeType volatility.obj.VolatilityMagic volatility.plugins.overlays.basic.String volatility.plugins.addrspaces.elfcoredump.DBGFCOREDESCRIPTOR volatility.plugins.addrspaces.hpak.HPAK_HEADER volatility.plugins.addrspaces.vmware._VMWARE_GROUP volatility.plugins.addrspaces.vmware._VMWARE_HEADER volatility.plugins.addrspaces.vmware._VMWARE_TAG volatility.plugins.crashinfo._DMP_HEADER volatility.plugins.dumpcerts._X509_PUBLIC_CERT volatility.plugins.dumpfiles._CONTROL_AREA volatility.plugins.dumpfiles._SHARED_CACHE_MAP volatility.plugins.gui.editbox._COMBOBOX_x64 volatility.plugins.gui.editbox._COMBOBOX_x86 volatility.plugins.gui.editbox._EDIT_x64 volatility.plugins.gui.editbox._EDIT_x86 volatility.plugins.gui.editbox._LISTBOX_x64 volatility.plugins.gui.editbox._LISTBOX_x86 volatility.plugins.gui.win32k_core._HANDLEENTRY volatility.plugins.gui.win32k_core._MM_SESSION_SPACE volatility.plugins.gui.win32k_core._RTL_ATOM_TABLE_ENTRY volatility.plugins.gui.win32k_core.tagCLIPDATA volatility.plugins.gui.win32k_core.tagEVENTHOOK volatility.plugins.gui.win32k_core.tagHOOK volatility.plugins.gui.win32k_core.tagRECT volatility.plugins.gui.win32k_core.tagSHAREDINFO volatility.plugins.gui.win32k_core.tagWINDOWSTATION volatility.plugins.gui.win32k_core.tagWND volatility.plugins.iehistory._URL_RECORD volatility.plugins.linux.bash._hist_entry volatility.plugins.linux.bash_hash._bash_hash_table volatility.plugins.linux.slab_info.kmem_cache volatility.plugins.mac.bash._mac_hist_entry volatility.plugins.mac.bash_hash.bash_funcs volatility.plugins.mac.threads.queue_entry volatility.plugins.malware.callbacks._SHUTDOWN_PACKET volatility.plugins.malware.cmdhistory._COMMAND_HISTORY volatility.plugins.malware.cmdhistory._CONSOLE_INFORMATION volatility.plugins.malware.cmdhistory._CONSOLE_PROCESS volatility.plugins.malware.cmdhistory._EXE_ALIAS_LIST volatility.plugins.malware.cmdhistory._SCREEN_INFORMATION volatility.plugins.malware.devicetree._DEVICE_OBJECT volatility.plugins.malware.devicetree._DRIVER_OBJECT volatility.plugins.malware.idt._KGDTENTRY volatility.plugins.malware.idt._KIDTENTRY volatility.plugins.malware.svcscan._SERVICE_HEADER volatility.plugins.malware.svcscan._SERVICE_RECORD_LEGACY volatility.plugins.malware.timers._KTIMER volatility.plugins.mbrparser.PARTITION_ENTRY volatility.plugins.mftparser.MFT_FILE_RECORD volatility.plugins.mftparser.OBJECT_ID volatility.plugins.mftparser.RESIDENT_ATTRIBUTE volatility.plugins.mftparser.STANDARD_INFORMATION volatility.plugins.netscan._TCP_LISTENER volatility.plugins.notepad._HEAP volatility.plugins.notepad._HEAP_ENTRY volatility.plugins.notepad._HEAP_SEGMENT volatility.plugins.overlays.basic.VOLATILITY_MAGIC volatility.plugins.overlays.linux.elf.elf volatility.plugins.overlays.linux.elf.elf32_dyn volatility.plugins.overlays.linux.elf.elf32_link_map volatility.plugins.overlays.linux.elf.elf32_note volatility.plugins.overlays.linux.elf.elf32_phdr volatility.plugins.overlays.linux.elf.elf32_rel volatility.plugins.overlays.linux.elf.elf32_rela volatility.plugins.overlays.linux.elf.elf32_shdr volatility.plugins.overlays.linux.elf.elf32_sym volatility.plugins.overlays.linux.elf.elf64_dyn volatility.plugins.overlays.linux.elf.elf64_link_map volatility.plugins.overlays.linux.elf.elf64_note volatility.plugins.overlays.linux.elf.elf64_phdr volatility.plugins.overlays.linux.elf.elf64_rel volatility.plugins.overlays.linux.elf.elf64_rela volatility.plugins.overlays.linux.elf.elf64_shdr volatility.plugins.overlays.linux.elf.elf64_sym volatility.plugins.overlays.linux.linux.dentry volatility.plugins.overlays.linux.linux.desc_struct volatility.plugins.overlays.linux.linux.files_struct volatility.plugins.overlays.linux.linux.gate_struct64 volatility.plugins.overlays.linux.linux.hlist_bl_node volatility.plugins.overlays.linux.linux.hlist_node volatility.plugins.overlays.linux.linux.in_device volatility.plugins.overlays.linux.linux.inet_sock volatility.plugins.overlays.linux.linux.inode volatility.plugins.overlays.linux.linux.kernel_param volatility.plugins.overlays.linux.linux.kparam_array volatility.plugins.overlays.linux.linux.linux_file volatility.plugins.overlays.linux.linux.linux_fs_struct volatility.plugins.overlays.linux.linux.list_head volatility.plugins.overlays.linux.linux.module_sect_attr volatility.plugins.overlays.linux.linux.module_struct volatility.plugins.overlays.linux.linux.mount volatility.plugins.overlays.linux.linux.net_device volatility.plugins.overlays.linux.linux.page volatility.plugins.overlays.linux.linux.sock volatility.plugins.overlays.linux.linux.super_block volatility.plugins.overlays.linux.linux.task_struct volatility.plugins.overlays.linux.linux.timespec volatility.plugins.overlays.linux.linux.tty_ldisc volatility.plugins.overlays.linux.linux.vfsmount volatility.plugins.overlays.linux.linux.vm_area_struct volatility.plugins.overlays.mac.mac.dyld32_image_info volatility.plugins.overlays.mac.mac.dyld64_image_info volatility.plugins.overlays.mac.mac.fileglob volatility.plugins.overlays.mac.mac.ifnet volatility.plugins.overlays.mac.mac.inpcb volatility.plugins.overlays.mac.mac.inpcbinfo volatility.plugins.overlays.mac.mac.kauth_scope volatility.plugins.overlays.mac.mac.OSString volatility.plugins.overlays.mac.mac.proc volatility.plugins.overlays.mac.mac.queue_entry volatility.plugins.overlays.mac.mac.rtentry volatility.plugins.overlays.mac.mac.sockaddr volatility.plugins.overlays.mac.mac.sockaddr_dl volatility.plugins.overlays.mac.mac.socket volatility.plugins.overlays.mac.mac.sysctl_oid volatility.plugins.overlays.mac.mac.thread volatility.plugins.overlays.mac.mac.vm_map_entry volatility.plugins.overlays.mac.mac.vm_map_object volatility.plugins.overlays.mac.mac.vnode volatility.plugins.overlays.mac.mac.zone volatility.plugins.overlays.mac.macho.macho volatility.plugins.overlays.mac.macho.macho32_dysymtab_command volatility.plugins.overlays.mac.macho.macho32_header volatility.plugins.overlays.mac.macho.macho32_load_command volatility.plugins.overlays.mac.macho.macho32_nlist volatility.plugins.overlays.mac.macho.macho32_section volatility.plugins.overlays.mac.macho.macho32_segment_command volatility.plugins.overlays.mac.macho.macho32_symtab_command volatility.plugins.overlays.mac.macho.macho64_dysymtab_command volatility.plugins.overlays.mac.macho.macho64_header volatility.plugins.overlays.mac.macho.macho64_load_command volatility.plugins.overlays.mac.macho.macho64_nlist volatility.plugins.overlays.mac.macho.macho64_section volatility.plugins.overlays.mac.macho.macho64_segment_command volatility.plugins.overlays.mac.macho.macho64_symtab_command volatility.plugins.overlays.windows.kdbg_vtypes._KDDEBUGGER_DATA64 volatility.plugins.overlays.windows.kpcr_vtypes._KPCROnx86 volatility.plugins.overlays.windows.pe_vtypes._IMAGE_DOS_HEADER volatility.plugins.overlays.windows.pe_vtypes._IMAGE_EXPORT_DIRECTORY volatility.plugins.overlays.windows.pe_vtypes._IMAGE_IMPORT_DESCRIPTOR volatility.plugins.overlays.windows.pe_vtypes._IMAGE_NT_HEADERS volatility.plugins.overlays.windows.pe_vtypes._IMAGE_RESOURCE_DIR_STRING_U volatility.plugins.overlays.windows.pe_vtypes._IMAGE_RESOURCE_DIRECTORY volatility.plugins.overlays.windows.pe_vtypes._IMAGE_SECTION_HEADER volatility.plugins.overlays.windows.pe_vtypes._LDR_DATA_TABLE_ENTRY volatility.plugins.overlays.windows.pe_vtypes._VS_FIXEDFILEINFO volatility.plugins.overlays.windows.pe_vtypes.VerStruct volatility.plugins.overlays.windows.tcpip_vtypes._ADDRESS_OBJECT volatility.plugins.overlays.windows.vad_vtypes._MM_AVL_TABLE volatility.plugins.overlays.windows.vad_vtypes._MM_AVL_TABLE_WIN8 volatility.plugins.overlays.windows.vad_vtypes._RTL_AVL_TREE volatility.plugins.overlays.windows.vad_vtypes.VadFlags volatility.plugins.overlays.windows.vad_vtypes.VadTraverser volatility.plugins.overlays.windows.win10._HMAP_ENTRY volatility.plugins.overlays.windows.windows._CM_KEY_BODY volatility.plugins.overlays.windows.windows._CMHIVE volatility.plugins.overlays.windows.windows._EPROCESS volatility.plugins.overlays.windows.windows._ETHREAD volatility.plugins.overlays.windows.windows._EX_FAST_REF volatility.plugins.overlays.windows.windows._FILE_OBJECT volatility.plugins.overlays.windows.windows._HANDLE_TABLE volatility.plugins.overlays.windows.windows._KMUTANT volatility.plugins.overlays.windows.windows._LIST_ENTRY volatility.plugins.overlays.windows.windows._OBJECT_HEADER volatility.plugins.overlays.windows.windows._OBJECT_SYMBOLIC_LINK volatility.plugins.overlays.windows.windows._OBJECT_TYPE volatility.plugins.overlays.windows.windows._POOL_HEADER volatility.plugins.overlays.windows.windows._TOKEN volatility.plugins.overlays.windows.windows._UNICODE_STRING volatility.plugins.registry.auditpol.AuditPolData7 volatility.plugins.registry.auditpol.AuditPolDataVista volatility.plugins.registry.auditpol.AuditPolDataXP volatility.plugins.registry.shellbags._GUID volatility.plugins.registry.shellbags._VOLUSER_ASSIST_TYPES volatility.plugins.registry.shellbags.FOLDER_ENTRY volatility.plugins.registry.shellbags.ITEMPOS volatility.plugins.registry.shellbags.NETWORK_VOLUME_NAME volatility.plugins.registry.shellbags.VOLUME_NAME volatility.obj.BitField volatility.obj.Pointer volatility.obj.Void volatility.plugins.overlays.basic.Enumeration volatility.plugins.overlays.basic.Flags volatility.plugins.overlays.basic.IpAddress volatility.plugins.overlays.basic.Ipv6Address volatility.plugins.overlays.basic.UnixTimeStamp volatility.plugins.overlays.windows.windows.DosDate volatility.plugins.overlays.windows.windows.WinTimeStamp volatility.plugins.bigpagepools.BigPageTable volatility.plugins.overlays.basic.VolatilityDTB volatility.plugins.overlays.basic.VolatilityMaxAddress volatility.plugins.overlays.linux.linux.VolatilityDTB volatility.plugins.overlays.linux.linux.VolatilityLinuxARMValidAS volatility.plugins.overlays.linux.linux.VolatilityLinuxIntelValidAS volatility.plugins.overlays.mac.mac.VolatilityDTB volatility.plugins.overlays.mac.mac.VolatilityMacIntelValidAS volatility.plugins.overlays.windows.win10.VolatilityCookie volatility.plugins.overlays.windows.win8_kdbg.VolatilityKDBG volatility.plugins.overlays.windows.windows.VolatilityAMD64ValidAS volatility.plugins.overlays.windows.windows.VolatilityIA32ValidAS volatility.plugins.overlays.windows.windows.VolatilityKDBG volatility.plugins.overlays.windows.windows.VolatilityKPCR volatility.plugins.overlays.windows.windows.VolMagicPoolTag

Public Member Functions

def __init__ (self, theType, offset, vm, native_vm=None, parent=None, name=None, kwargs)
 
def obj_type (self)
 
def obj_vm (self)
 
def obj_offset (self)
 
def obj_parent (self)
 
def obj_name (self)
 
def obj_native_vm (self)
 
def set_native_vm (self, native_vm)
 Sets the native_vm.
 
def rebase (self, offset)
 
def proxied (self, attr)
 
def newattr (self, attr, value)
 Sets a new attribute after the object has been created.
 
def write (self, value)
 Function for writing the object back to disk.
 
def __getattr__ (self, attr)
 This is only useful for proper methods (not ones that start with __ )
 
def __setattr__ (self, attr, value)
 
def __nonzero__ (self)
 This method is called when we test the truth value of an Object. More...
 
def __eq__ (self, other)
 
def __ne__ (self, other)
 
def __hash__ (self)
 
def m (self, memname)
 
def is_valid (self)
 
def dereference (self)
 
def dereference_as (self, derefType, kwargs)
 
def cast (self, castString)
 
def v (self)
 Do the actual reading and decoding of this member.
 
def __format__ (self, formatspec)
 
def __str__ (self)
 
def __repr__ (self)
 
def d (self)
 Display diagnostic information.
 
def __getstate__ (self)
 This controls how we pickle and unpickle the objects.
 
def __setstate__ (self, state)
 

Public Attributes

 obj_offset
 
 obj_vm
 

Member Function Documentation

def volatility.obj.BaseObject.__nonzero__ (   self)

This method is called when we test the truth value of an Object.

In volatility we consider an object to have True truth value only when its a valid object. Its possible for example to have a Pointer object which is not valid - this will have a truth value of False.

You should be testing for validity like this: if X:

object is valid

Do not test for validity like this:

if int(X) == 0:

or if X is None: .....

the later form is not going to work when X is a NoneObject.


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