每当我尝试用新功能替换call
地址时,都会导致应用程序崩溃。这是我尝试过的代码(来自IDA的地址)
int FuncPtr;
__declspec(naked) NewFunc()
{
__asm JMP FuncPtr;
}
void UpdateInstruction()
{
BYTE *Ptr = 0x81BA10 + 0x201A; // Pointer to CALL (E8)
FuncPtr = *(int *)(Ptr + 1);
*(int *)(Ptr + 1) = NewFunc;
}