我有這個ASM代碼,我想對它做一個硬件斷點,但我不知道是否可以使用硬件斷點來寫內存。誰能建議?硬件斷點是否可以寫入內存?
[ASM]
41A8BA - 68 12345678 [PUSH 78563412]
是否有無論如何我可以寫在硬件斷點,例如在C++上使它成爲「68 00000000」?
[C++ Code]
LONG WINAPI ExceptionFilter(PEXCEPTION_POINTERS ExceptionInfo)
{
if(ExceptionInfo->ExceptionRecord->ExceptionCode == EXCEPTION_SINGLE_STEP)
{
if((DWORD)ExceptionInfo->ExceptionRecord->ExceptionAddress == 0x41A8BA)
{
//What do i write here?
return EXCEPTION_CONTINUE_EXECUTION;
}
}
return EXCEPTION_CONTINUE_SEARCH;
}
換句話說,你想在執行指令前修改指令嗎? – zneak
如果可能的話,我想修改一個硬件級別的指令(我不確定是否硬件斷點可以做到這一點),然後執行,是的。 –
通過「硬件級別」,你的意思是你想改變指令而不會在內存中看到變化嗎? – zneak