diff --git a/BlitzPointer.cpp b/BlitzPointer.cpp index 8be968c..0ef2258 100644 --- a/BlitzPointer.cpp +++ b/BlitzPointer.cpp @@ -53,6 +53,21 @@ DLL_METHOD intptr_t DLL_CALL BP_GetFunctionPointer() } #pragma comment(linker, "/EXPORT:BP_GetFunctionPointer=_BP_GetFunctionPointer@0") +// Didn't work out, overloading a Runtime Function makes it disappear. +/*DLL_METHOD intptr_t DLL_CALL BP_GetLastCalledFunctionPointer( ) +{ + // Scan backwards in executable memory for a eax assign. + return 0; +} +#pragma comment(linker, "/EXPORT:BP_GetLastCalledFunctionPointer=_BP_GetLastCalledFunctionPointer@0") + +DLL_METHOD intptr_t DLL_CALL BP_GetNextCalledFunctionPointer() +{ + // Scan forwards in executable memory for a eax assign. + return 0; +} +#pragma comment(linker, "/EXPORT:BP_GetNextCalledFunctionPointer=_BP_GetNextCalledFunctionPointer@0")*/ + DLL_METHOD intptr_t DLL_CALL BP_GetVariablePointer(int32_t pVariable) { intptr_t BasePointer; diff --git a/BlitzPointer.decls b/BlitzPointer.decls index ab4f63c..765fbee 100644 --- a/BlitzPointer.decls +++ b/BlitzPointer.decls @@ -19,6 +19,8 @@ ; BlitzPointer BP_GetReturnAddress%() BP_GetFunctionPointer%() +BP_GetLastCalledFunctionPointer%() +BP_GetNextCalledFunctionPointer%() ;BP_GetVariablePointer%(pVariable%) BP_GetVariablePointerInt%(pVariable%) : "BP_GetVariablePointer" BP_GetVariablePointerFloat%(pVariable#) : "BP_GetVariablePointer" diff --git a/BlitzPointer.h b/BlitzPointer.h index 4296e99..da7a331 100644 --- a/BlitzPointer.h +++ b/BlitzPointer.h @@ -29,6 +29,8 @@ typedef int32_t(__stdcall *BP_BlitzFunction5_t)(int32_t, int32_t, int32_t, int32 // Basic Functionality (Pointer retrieval) DLL_METHOD intptr_t DLL_CALL BP_GetReturnAddress(); DLL_METHOD intptr_t DLL_CALL BP_GetFunctionPointer(); +/*DLL_METHOD intptr_t DLL_CALL BP_GetLastCalledFunctionPointer( ); +DLL_METHOD intptr_t DLL_CALL BP_GetNextCalledFunctionPointer();*/ DLL_METHOD intptr_t DLL_CALL BP_GetVariablePointer(int32_t pVariable); DLL_METHOD intptr_t DLL_CALL BP_GetVariablePointerType(int32_t pVariable);