mirror of
https://github.com/wavestone-cdt/EDRSandblast.git
synced 2026-06-08 16:37:12 +00:00
Introduced the info about atomic/non-atomic write primitives
This commit is contained in:
@@ -6,23 +6,28 @@
|
|||||||
#define DBUtil 1
|
#define DBUtil 1
|
||||||
#define GDRV 2
|
#define GDRV 2
|
||||||
// Select the driver to use with the following #define
|
// Select the driver to use with the following #define
|
||||||
#define VULN_DRIVER RTCore
|
#define VULN_DRIVER GDRV
|
||||||
|
|
||||||
|
//TODO : design a way to make an atomic write given a non-atomic one
|
||||||
|
//idea : modify a PTE to mark a page userland-reachable and perform the write from the process
|
||||||
#if VULN_DRIVER == RTCore
|
#if VULN_DRIVER == RTCore
|
||||||
#define DEFAULT_DRIVER_FILE TEXT("RTCore64.sys")
|
#define DEFAULT_DRIVER_FILE TEXT("RTCore64.sys")
|
||||||
#define CloseDriverHandle CloseDriverHandle_RTCore
|
#define CloseDriverHandle CloseDriverHandle_RTCore
|
||||||
#define ReadMemoryPrimitive ReadMemoryPrimitive_RTCore
|
#define ReadMemoryPrimitive ReadMemoryPrimitive_RTCore
|
||||||
#define WriteMemoryPrimitive WriteMemoryPrimitive_RTCore
|
#define WriteMemoryPrimitive WriteMemoryPrimitive_RTCore
|
||||||
|
#define WriteMemoryPrimitiveIsAtomic 0 //RTCore only allows to write up to a DWORD at a time
|
||||||
#elif VULN_DRIVER == DBUtil
|
#elif VULN_DRIVER == DBUtil
|
||||||
#define DEFAULT_DRIVER_FILE TEXT("DBUtil_2_3.sys")
|
#define DEFAULT_DRIVER_FILE TEXT("DBUtil_2_3.sys")
|
||||||
#define CloseDriverHandle CloseDriverHandle_DBUtil
|
#define CloseDriverHandle CloseDriverHandle_DBUtil
|
||||||
#define ReadMemoryPrimitive ReadMemoryPrimitive_DBUtil
|
#define ReadMemoryPrimitive ReadMemoryPrimitive_DBUtil
|
||||||
#define WriteMemoryPrimitive WriteMemoryPrimitive_DBUtil
|
#define WriteMemoryPrimitive WriteMemoryPrimitive_DBUtil
|
||||||
|
#define WriteMemoryPrimitiveIsAtomic 1 //DBUtil allows to write an arbitrary size
|
||||||
#elif VULN_DRIVER == GDRV
|
#elif VULN_DRIVER == GDRV
|
||||||
#define DEFAULT_DRIVER_FILE TEXT("gdrv.sys")
|
#define DEFAULT_DRIVER_FILE TEXT("gdrv.sys")
|
||||||
#define CloseDriverHandle CloseDriverHandle_GDRV
|
#define CloseDriverHandle CloseDriverHandle_GDRV
|
||||||
#define ReadMemoryPrimitive ReadMemoryPrimitive_GDRV
|
#define ReadMemoryPrimitive ReadMemoryPrimitive_GDRV
|
||||||
#define WriteMemoryPrimitive WriteMemoryPrimitive_GDRV
|
#define WriteMemoryPrimitive WriteMemoryPrimitive_GDRV
|
||||||
|
#define WriteMemoryPrimitiveIsAtomic 1 //DBUtil allows to write an arbitrary size
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
BYTE ReadMemoryBYTE(DWORD64 Address);
|
BYTE ReadMemoryBYTE(DWORD64 Address);
|
||||||
|
|||||||
Reference in New Issue
Block a user