mirror of https://github.com/x64dbg/TitanEngine
directly use thread context manipulation for StepInto
This commit is contained in:
parent
d7e66e5ae4
commit
21e146bc23
|
|
@ -4,6 +4,7 @@
|
||||||
#include "Global.Handle.h"
|
#include "Global.Handle.h"
|
||||||
#include "Global.Threader.h"
|
#include "Global.Threader.h"
|
||||||
#include "Global.Librarian.h"
|
#include "Global.Librarian.h"
|
||||||
|
#include "Global.Engine.h"
|
||||||
|
|
||||||
__declspec(dllexport) void TITCALL ForceClose()
|
__declspec(dllexport) void TITCALL ForceClose()
|
||||||
{
|
{
|
||||||
|
|
@ -62,10 +63,12 @@ __declspec(dllexport) void TITCALL StepInto(LPVOID StepCallBack)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ULONG_PTR ueContext = NULL;
|
CONTEXT myDBGContext;
|
||||||
ueContext = (ULONG_PTR)GetContextData(UE_EFLAGS);
|
HANDLE hActiveThread = EngineOpenThread(THREAD_GETSETSUSPEND, false, DBGEvent.dwThreadId);
|
||||||
ueContext |= UE_TRAP_FLAG;
|
myDBGContext.ContextFlags = CONTEXT_CONTROL;
|
||||||
SetContextData(UE_EFLAGS, ueContext);
|
GetThreadContext(hActiveThread, &myDBGContext);
|
||||||
|
myDBGContext.EFlags |= UE_TRAP_FLAG;
|
||||||
|
SetThreadContext(hActiveThread, &myDBGContext);
|
||||||
engineStepActive = true;
|
engineStepActive = true;
|
||||||
engineStepCallBack = StepCallBack;
|
engineStepCallBack = StepCallBack;
|
||||||
engineStepCount = 0;
|
engineStepCount = 0;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue