BuringStraw

BuringStraw

GFSJ0779_Mizushimajiro

Skip Level 1
Static analysis found that there was nothing inside the function pretending to be Level 2. Dynamic debugging also directly exited there.
Then, consulting the write-up, it was found that an exception handler was registered using AddVectoredExceptionHandler, and the exception was triggered using int 3. If you want to debug, you need to modify the debugger settings to let the debugged program handle the exception.

No need to debug for now. Observing the registered exception handling function, it can be seen that it is XORed with a byte by 2, but that memory is generated at runtime, so debug it. Note that this is a string pointer, in little-endian, so read it in reverse.
![Memory](/pics/Screen Shot 2022-10-01 232850.png)
Ending with 02, because 0^2=2, the code also checks the ending in this way.
![02](/pics/Screen Shot 2022-10-01 233644.png)
Finally, concatenate the two segments. Not sure why they used underscores to join... flag{r0b0RUlez!_w3lld0ne}

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.