I was wondering if it was possible to change the value of a register when an instruction gets executed. For example0x10 call eaxSay eax contains 0x20 at that point, I want to add 0x10 to it so that the address that gets called is now 0x30.What I tried doing was set a AddVectoredExceptionHandler and put an INT3 on 0x10. When my exception handler gets called, I restore the original byte at 0x10. Then I add 0x10 to eax and jump to ExceptionInfo->ContextRecord->Eip. This obviously doesn't work well because I never return to the OS.Is there another way or is this even possible?
Is it possible to change the value of a register when a certain instruction is executed?
windows;x86;exception
Alright, so apparently you can just edit ExceptionInfo->ContextRecord->Eax inside your LONG CALLBACK VectoredHandler(  _In_ PEXCEPTION_POINTERS ExceptionInfo); function and the OS will set the eax to that value when it returns the execution back to where the exception was(If you return EXCEPTION_CONTINUE_EXECUTION.)