physical memory introspection framework
CachedView
as a new page cache on top of MemoryView
1
phys_read_raw
-> phys_read_raw_into
, page_size
-> arch_page_size
.Transitioning from C FFI to C++ FFI:
memflow.h
, and memflow_win32.h
become memflow_cpp.h
, and memflow_win32_cpp.h
.
memflow.h
, and memflow_win32.h
. They are just wrappers for safety, and ergonomics.Type *
to CType
. Every CType
include automatic object destruction, so there is no need for the type_free
methods.CType
contains a Type *
inside. The pointer can still be null
. Checking whether object is valid is still the same: if (CType != NULL)
process_module_info(Win32Process *process, const char *name)
becomes CWin32Process::module_info(this, const char *name)
.
process_module_info(proc, "ntdll.dll")
becomes proc.module_info("ntdll.dll")
.virt
, and phys
read/write functions. They do not loose their prefix, because they do have the prefix in the Rust library. So, virt_read_u64(mem, addr)
becomes mem.virt_read_u64(addr)
.string
, and vector
containers. Getting process/module names, and lists becomes much simpler.