Add UE_ENGINE_SAFE_STEP to allow disabling DBG_REPLY_LATER

This commit is contained in:
Duncan Ogilvie 2022-09-09 13:45:53 +02:00
parent 43caf023f8
commit 8d833fb2e3
6 changed files with 10 additions and 1 deletions

View File

@ -58,6 +58,8 @@
#define UE_ENGINE_SET_DEBUG_PRIVILEGE 9 #define UE_ENGINE_SET_DEBUG_PRIVILEGE 9
#define UE_ENGINE_SAFE_ATTACH 10 #define UE_ENGINE_SAFE_ATTACH 10
#define UE_ENGINE_MEMBP_ALT 11 #define UE_ENGINE_MEMBP_ALT 11
#define UE_ENGINE_DISABLE_ASLR 12
#define UE_ENGINE_SAFE_STEP 13
#define UE_OPTION_REMOVEALL 1 #define UE_OPTION_REMOVEALL 1
#define UE_OPTION_DISABLEALL 2 #define UE_OPTION_DISABLEALL 2

View File

@ -21,6 +21,7 @@ bool engineEnableDebugPrivilege = false;
bool engineSafeAttach = false; bool engineSafeAttach = false;
bool engineMembpAlt = false; bool engineMembpAlt = false;
bool engineDisableAslr = false; bool engineDisableAslr = false;
bool engineSafeStep = true;
char engineFoundDLLName[512] = {0}; char engineFoundDLLName[512] = {0};
char engineFoundAPIName[512] = {0}; char engineFoundAPIName[512] = {0};

View File

@ -24,6 +24,7 @@ extern bool engineEnableDebugPrivilege;
extern bool engineSafeAttach; extern bool engineSafeAttach;
extern bool engineMembpAlt; extern bool engineMembpAlt;
extern bool engineDisableAslr; extern bool engineDisableAslr;
extern bool engineSafeStep;
//Global.Engine.Functions //Global.Engine.Functions
void EngineInit(); void EngineInit();

View File

@ -88,7 +88,7 @@ __declspec(dllexport) void TITCALL DebugLoop()
const uint32_t NtBuildNumber = *(uint32_t*)(0x7FFE0000 + 0x260); const uint32_t NtBuildNumber = *(uint32_t*)(0x7FFE0000 + 0x260);
if(NtBuildNumber != 0 && NtBuildNumber >= 10240) if(NtBuildNumber != 0 && NtBuildNumber >= 10240)
{ {
IsDbgReplyLaterSupported = true; IsDbgReplyLaterSupported = engineSafeStep;
} }
DBGFileHandle = NULL; DBGFileHandle = NULL;

View File

@ -56,6 +56,10 @@ __declspec(dllexport) void TITCALL SetEngineVariable(DWORD VariableId, bool Vari
{ {
engineDisableAslr = VariableSet; engineDisableAslr = VariableSet;
} }
else if (VariableId == UE_ENGINE_SAFE_STEP)
{
engineSafeStep = VariableSet;
}
} }
__declspec(dllexport) bool TITCALL EngineCreateMissingDependencies(char* szFileName, char* szOutputFolder, bool LogCreatedFiles) __declspec(dllexport) bool TITCALL EngineCreateMissingDependencies(char* szFileName, char* szOutputFolder, bool LogCreatedFiles)

View File

@ -473,6 +473,7 @@ typedef struct HOOK_ENTRY
#define UE_ENGINE_SAFE_ATTACH 10 #define UE_ENGINE_SAFE_ATTACH 10
#define UE_ENGINE_MEMBP_ALT 11 #define UE_ENGINE_MEMBP_ALT 11
#define UE_ENGINE_DISABLE_ASLR 12 #define UE_ENGINE_DISABLE_ASLR 12
#define UE_ENGINE_SAFE_STEP 13
#define UE_OPTION_REMOVEALL 1 #define UE_OPTION_REMOVEALL 1
#define UE_OPTION_DISABLEALL 2 #define UE_OPTION_DISABLEALL 2