From ac43486a825a7114fe0f20f87eec26b27c07a8ad Mon Sep 17 00:00:00 2001 From: ALittlePatate Date: Sat, 24 Aug 2024 19:47:36 +0200 Subject: [PATCH] add: Windows APIs string encryption in pasm APIs, fix: nullptr --- Server/BuildMenu.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Server/BuildMenu.cs b/Server/BuildMenu.cs index ba91d79..94244bb 100644 --- a/Server/BuildMenu.cs +++ b/Server/BuildMenu.cs @@ -204,7 +204,13 @@ namespace Server #endif void api_{functionName}(void) {{ #ifdef _WIN32 - f{api.function_name} p{api.function_name} = GetApi(L""{api.dll_name}"", ""{api.function_name}""); + char api[] = ""{Utils.CAESAR(api.function_name)}""; + f{api.function_name} p{api.function_name} = GetApi(L""{api.dll_name}"", PCAESAR_DECRYPT(api)); + if (p{api.function_name} == NULL) {{ + state->STACK_IDX -= {api.arguments.Count}; + {(returnsVoid ? string.Empty : "state->registers->eax = 1;")} + return; + }} {functionBody.ToString()} {functionCall} #else state->STACK_IDX -= {api.arguments.Count};