2023-03-06 15:40:07 -05:00
|
|
|
#pragma once
|
|
|
|
#include <thread>
|
|
|
|
#include "nt.hpp"
|
|
|
|
|
2023-11-10 16:52:20 -05:00
|
|
|
namespace utilities::hardware_breakpoint
|
2023-03-06 15:40:07 -05:00
|
|
|
{
|
|
|
|
enum condition
|
|
|
|
{
|
|
|
|
execute = 0,
|
|
|
|
write = 1,
|
|
|
|
read_write = 3
|
|
|
|
};
|
|
|
|
|
|
|
|
uint32_t activate(uint64_t address, uint32_t length, condition cond, CONTEXT& context);
|
|
|
|
uint32_t activate(void* address, uint32_t length, condition cond, uint32_t thread_id = GetCurrentThreadId());
|
|
|
|
uint32_t activate(uint64_t address, uint32_t length, condition cond, uint32_t thread_id = GetCurrentThreadId());
|
|
|
|
|
|
|
|
void deactivate(uint32_t index, CONTEXT& context);
|
|
|
|
void deactivate(uint32_t index, uint32_t thread_id = GetCurrentThreadId());
|
|
|
|
|
|
|
|
void deactivate_all(CONTEXT& context);
|
|
|
|
void deactivate_all(uint32_t thread_id = GetCurrentThreadId());
|
|
|
|
}
|