I'm reversing an application and I know for a fact it employs CRC checks, so if I modify the code, for instance hooking something, it'll be detected. The application uses a DLL which I replaced with my custom one and I'm trying to get around the CRC checks. The symptoms are, however, puzzling me. This is what happens if I modify the code and it gets detected:
However, it seems that the code at this address is just the start of some unrelated function:
I find that a bit puzzling; I expected something like
if (detected) RaiseException(EXCEPTION_SINGLE_STEP)
, and instead it simply "crashes" at the start of this function.
- What does that mean?
- Am I right in thinking that what we see in the first screenshot implies RaiseException must be deliberately called somewhere in the code?