메모리에 점프를 쓰려고하는데, 어떻게 작동하는지 설명 할 수있는 곳을 찾을 수없는 것 같습니다. 나는 내가 hookAddr에 기록 할 수 E9 XX XX XX XX에 ASM JMP 0x7FE12345678 변환 어떻게 :메모리에 점프 쓰기
typedef UINT(WINAPI* tResetWriteWatch)(LPVOID lpBaseAddress, SIZE_T dwRegionSize);
UINT WINAPI ResetWriteWatchHook(LPVOID lpBaseAddress, SIZE_T dwRegionSize){
printf("Function called\n");
return 0;
}
void main(){
DWORD64 hookAddr = (DWORD64)&ResetWriteWatch;
WriteJump(hookAddr, ResetWriteWatchHook/*Let's say it's 0x7FE12345678*/);//Writes E9 XX XX XX XX to memory
}
내 주요 문제는 내가 이해하지 못하는 것입니다.
프로세스는 64 비트입니다.
기존 C++로 수행 할 수없는 작업은 무엇입니까? 이것은 우회적 인 각도와 관련이 있습니까? – tadman
기존의 C++을 사용하여 수행 할 수 있는지 확실하지 않지만 Windows API 함수를 많이 알지 못하므로이 방법이 가장 적합합니다. (ResetWriteWatch는 kernel32.dll에 있습니다.) – ioospa