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.