You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.8 KiB
2.8 KiB
Release notes
All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
0.1.5
- Added memflow::prelude::v1 and memflow_win32::prelude::v1 modules
- Added new fields to FFI
- Improved consistency of these function names in C FFI:
phys_read_raw
->phys_read_raw_into
,page_size
->arch_page_size
. - Added C++ bindings for the FFI
- Fixed core errors not displaying the full error message when wrapped in a win32 error
- Changed windows inventory search path from [user]/.local/lib/memflow to [user]/Documents/memflow
- Added {PWD} to inventory search path
Transitioning from C FFI to C++ FFI:
memflow.h
, andmemflow_win32.h
becomememflow_cpp.h
, andmemflow_win32_cpp.h
.- The headers still depend on
memflow.h
, andmemflow_win32.h
. They are just wrappers for safety, and ergonomics.
- The headers still depend on
- Types transition from
Type *
toCType
. EveryCType
include automatic object destruction, so there is no need for thetype_free
methods. CType
contains aType *
inside. The pointer can still benull
. Checking whether object is valid is still the same:if (CType != NULL)
- Methods are implemented as class members. Most methods loose their prefix. The change looks like this:
process_module_info(Win32Process *process, const char *name)
becomesCWin32Process::module_info(this, const char *name)
.- Calling methods changes into calling a function on the object, instead of with the object. Example:
process_module_info(proc, "ntdll.dll")
becomesproc.module_info("ntdll.dll")
. - Exception to this are
virt
, andphys
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)
becomesmem.virt_read_u64(addr)
.
- Calling methods changes into calling a function on the object, instead of with the object. Example:
- There are extra convenience functions that utilize STL's
string
, andvector
containers. Getting process/module names, and lists becomes much simpler.
0.1.4
- Removed namespaces in FFI headers and unused dependencies
- Fixed connector errors not being shown properly
- Added
main_module_info()
helper function which retrieves the main module of a process - Added the DLL path to the Win32ModuleInfo structure
- Fixed duplicated connectors being added to the inventory multiple times
- Renamed and deprecated the
ConnectorInventory::try_new()
andConnectorInventory::with_path()
functions. The new function names areConnectorInventory::scan()
andConnectorInventory::scan_path()
- Added a
available_connectors()
function to the ConnectorInventory which returns all connectors that have been found on the system. - Added a fallback signature for windows 10 for the win32 keyboard implementation in case the PE Header of the win32kbase.sys is paged out
- Added a
MemoryMap::open()
function to load a memory map in TOML format