add some hooking macros for all kind of memory access events
This commit is contained in:
@ -181,6 +181,25 @@ typedef enum uc_hook_type {
|
||||
UC_HOOK_MEM_FETCH = 1 << 12, // Hook memory fetch for execution events
|
||||
} uc_hook_type;
|
||||
|
||||
// hook type for all events of unmapped memory access
|
||||
#define UC_HOOK_MEM_INVALID (UC_HOOK_MEM_READ_INVALID + UC_HOOK_MEM_WRITE_INVALID + UC_HOOK_MEM_FETCH_INVALID)
|
||||
// hook type for all events of illegal protected memory access
|
||||
#define UC_HOOK_MEM_PROT (UC_HOOK_MEM_READ_PROT + UC_HOOK_MEM_WRITE_PROT + UC_HOOK_MEM_FETCH_PROT)
|
||||
// hook type for all events of illegal read memory access
|
||||
#define UC_HOOK_MEM_READ_ERR (UC_HOOK_MEM_READ_PROT + UC_HOOK_MEM_READ_INVALID)
|
||||
// hook type for all events of illegal write memory access
|
||||
#define UC_HOOK_MEM_WRITE_ERR (UC_HOOK_MEM_WRITE_PROT + UC_HOOK_MEM_WRITE_INVALID)
|
||||
// hook type for all events of illegal fetch memory access
|
||||
#define UC_HOOK_MEM_FETCH_ERR (UC_HOOK_MEM_FETCH_PROT + UC_HOOK_MEM_FETCH_INVALID)
|
||||
// hook type for all events of illegal memory access
|
||||
#define UC_HOOK_MEM_ERR (UC_HOOK_MEM_INVALID + UC_HOOK_MEM_PROT)
|
||||
// hook type for all events of read memory access
|
||||
#define UC_HOOK_MEM_READ_ALL (UC_HOOK_MEM_READ_ERR + UC_HOOK_MEM_READ)
|
||||
// hook type for all events of write memory access
|
||||
#define UC_HOOK_MEM_WRITE_ALL (UC_HOOK_MEM_WRITE_ERR + UC_HOOK_MEM_WRITE)
|
||||
// hook type for all events of fetch memory access
|
||||
#define UC_HOOK_MEM_FETCH_ALL (UC_HOOK_MEM_FETCH_ERR + UC_HOOK_MEM_FETCH)
|
||||
|
||||
// Callback function for hooking memory (UC_MEM_READ, UC_MEM_WRITE & UC_MEM_FETCH)
|
||||
// @type: this memory is being READ, or WRITE
|
||||
// @address: address where the code is being executed
|
||||
|
Reference in New Issue
Block a user