mirror of https://github.com/x64dbg/GleeBug
implemented memory breakpoint functionality in TitanEngine emulator
This commit is contained in:
parent
94060f3d99
commit
9d7e3b0c95
|
|
@ -409,14 +409,37 @@ public:
|
||||||
//Memory Breakpoints
|
//Memory Breakpoints
|
||||||
bool SetMemoryBPXEx(ULONG_PTR MemoryStart, SIZE_T SizeOfMemory, DWORD BreakPointType, bool RestoreOnHit, LPVOID bpxCallBack)
|
bool SetMemoryBPXEx(ULONG_PTR MemoryStart, SIZE_T SizeOfMemory, DWORD BreakPointType, bool RestoreOnHit, LPVOID bpxCallBack)
|
||||||
{
|
{
|
||||||
//TODO
|
if (!mProcess)
|
||||||
return false;
|
return false;
|
||||||
|
MemoryType type;
|
||||||
|
switch (BreakPointType)
|
||||||
|
{
|
||||||
|
case UE_MEMORY:
|
||||||
|
type = MemoryType::Access;
|
||||||
|
break;
|
||||||
|
case UE_MEMORY_READ:
|
||||||
|
type = MemoryType::Read;
|
||||||
|
break;
|
||||||
|
case UE_MEMORY_WRITE:
|
||||||
|
type = MemoryType::Write;
|
||||||
|
break;
|
||||||
|
case UE_MEMORY_EXECUTE:
|
||||||
|
type = MemoryType::Execute;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return mProcess->SetMemoryBreakpoint(ptr(MemoryStart), ptr(SizeOfMemory), [bpxCallBack](const BreakpointInfo & info)
|
||||||
|
{
|
||||||
|
(MEMBPCALLBACK(bpxCallBack))((const void*)info.address);
|
||||||
|
}, type, !RestoreOnHit);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RemoveMemoryBPX(ULONG_PTR MemoryStart, SIZE_T SizeOfMemory)
|
bool RemoveMemoryBPX(ULONG_PTR MemoryStart, SIZE_T SizeOfMemory)
|
||||||
{
|
{
|
||||||
//TODO
|
if (!mProcess)
|
||||||
return false;
|
return false;
|
||||||
|
return mProcess->DeleteMemoryBreakpoint(ptr(MemoryStart));
|
||||||
}
|
}
|
||||||
|
|
||||||
//Hardware Breakpoints
|
//Hardware Breakpoints
|
||||||
|
|
@ -631,6 +654,7 @@ private: //variables
|
||||||
typedef void(*STEPCALLBACK)();
|
typedef void(*STEPCALLBACK)();
|
||||||
typedef STEPCALLBACK BPCALLBACK;
|
typedef STEPCALLBACK BPCALLBACK;
|
||||||
typedef CUSTOMHANDLER HWBPCALLBACK;
|
typedef CUSTOMHANDLER HWBPCALLBACK;
|
||||||
|
typedef CUSTOMHANDLER MEMBPCALLBACK;
|
||||||
CUSTOMHANDLER mCbCREATEPROCESS = nullptr;
|
CUSTOMHANDLER mCbCREATEPROCESS = nullptr;
|
||||||
CUSTOMHANDLER mCbEXITPROCESS = nullptr;
|
CUSTOMHANDLER mCbEXITPROCESS = nullptr;
|
||||||
CUSTOMHANDLER mCbCREATETHREAD = nullptr;
|
CUSTOMHANDLER mCbCREATETHREAD = nullptr;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue