Trees | Indices | Help |
|
---|
|
An address space to read virtual memory on ARM systems.
The ARM manual refers to the "Translation Table Base Register" (TTBR) as the equivalent of the Intel CR3 register. We just refer to it as the DTB (Directory Table Base) to be consistent with the other Rekall address spaces.
This implementation is guided by Figure 6.6 of ARM1176JZ-S Technical Reference Manual, Revision: r0p7. http://infocenter.arm.com/help/topic/com.arm.doc.ddi0333h/DDI0333H_arm1176jzs_r0p7_trm.pdf
Nested Classes | |
__metaclass__ Automatic Plugin Registration through metaclasses. (Inherited from rekall.addrspace.BaseAddressSpace) |
|
top_level_class This is the base class of all Address Spaces. (Inherited from rekall.addrspace.BaseAddressSpace) |
Instance Methods | |||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
Inherited from |
Class Methods | |||
|
|||
|
|||
|
Class Variables | |
section_index_mask = 1048575
|
|
section_base_address_mask = -1048576
|
|
super_section_mask = 262144
|
|
super_section_index_mask = 33554431
|
|
super_section_base_address_mask = -33554432
|
|
table_index_mask = -1048576
|
|
l2_table_index_mask = 1044480
|
|
coarse_page_table_base_address_mask = -1024
|
|
fine_page_table_base_address_mask = -4096
|
|
fine_l2_table_index_mask = 1047552
|
|
fine_page_table_index_mask = 3072
|
|
large_page_index_mask = 65535
|
|
large_page_base_address_mask = -65536
|
|
small_page_index_mask = 4095
|
|
small_page_base_address_mask = -4096
|
|
tiny_page_index_mask = 1023
|
|
tiny_page_base_address_mask = -1024
|
|
PAGE_MASK = -4096
(Inherited from rekall.addrspace.PagedReader)
|
|
PAGE_SIZE = 4096
(Inherited from rekall.addrspace.PagedReader)
|
|
classes =
(Inherited from rekall.addrspace.BaseAddressSpace)
|
|
classes_by_name =
(Inherited from rekall.addrspace.BaseAddressSpace)
|
|
name =
(Inherited from rekall.addrspace.BaseAddressSpace)
|
|
order = 10
(Inherited from rekall.addrspace.BaseAddressSpace)
|
|
plugin_feature =
(Inherited from rekall.addrspace.BaseAddressSpace)
|
|
virtualized = False
(Inherited from rekall.addrspace.BaseAddressSpace)
|
|
volatile = False
(Inherited from rekall.addrspace.BaseAddressSpace)
|
Properties | |
Inherited from |
Method Details |
Base is the AS we will be stacking on top of, opts are options which we may use. Args: base: A base address space to stack on top of (i.e. delegate to it for satisfying read requests). session: An optional session object. profile: An optional profile to use for parsing the address space (e.g. needed for hibernation, crash etc.)
|
Read an unsigned 32-bit integer from physical memory. Note this always succeeds - reads outside mapped addresses in the image will simply return 0. |
Translates virtual addresses into physical offsets. The function should return either None (no valid mapping) or the offset in physical memory where the address maps. This function is simply a wrapper around describe_vtop() which does all the hard work. You probably never need to override it.
|
Generate all valid addresses. Note that ARM requires page table entries for large sections to be duplicated (e.g. a supersection first_level_descriptor must be duplicated 16 times). We don't actually check for this here.
|
|
|
|
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Mon Oct 9 03:27:58 2017 | http://epydoc.sourceforge.net |