memory ¤
Reading, writing, and describing memory.
Classes:
-
Page–Represents the address space and page permissions of at least
Functions:
-
round_down–round_down(address, align) -> int
-
round_up–round_up(address, align) -> int
-
page_align–page_align(address) -> int
-
page_size_align– -
page_offset–
Attributes:
-
PAGE_SIZE– -
PAGE_MASK– -
align_down– -
align_up–
Page ¤
Represents the address space and page permissions of at least one page of memory.
Methods:
Attributes:
-
vaddr– -
memsz– -
flags– -
offset– -
objfile–Possible non-empty values of
objfile: -
start(int) –Mapping start address.
-
end(int) –Address beyond mapping. So the last effective address is self.end-1
-
is_stack(bool) – -
is_memory_mapped_file(bool) – -
read(bool) – -
write(bool) – -
execute(bool) – -
rw(bool) – -
wx(bool) – -
rwx(bool) – -
is_guard(bool) – -
permstr(str) –
objfile class-attribute instance-attribute ¤
Possible non-empty values of objfile: - Contains square brackets "[]" if it's not a memory mapped file. Examples: [stack], [vsyscall], [heap], [vdso] - A path to a file, such as /usr/lib/libc.so.6
end property ¤
Address beyond mapping. So the last effective address is self.end-1 It is the same as displayed in /proc/
round_down ¤
round_down(address, align) -> int
Round down address to the nearest increment of align.
round_up ¤
round_up(address, align) -> int
Round up address to the nearest increment of align.
page_align ¤
page_align(address) -> int
Round down address to the nearest page boundary.