I am trying to reverse a software which loads its own dll-file filled with protection stuff. I was able to successfuly locate the functions of interest. Then I patched the first function and test the software. It worked. Then I patched the second function and try to run the software, but this time it got jammed. I noticed in the OLLYDBG log note "crc changed, discarding .udd data" after this dll was loaded. PEid v0.94 Krypto Analyzer pluging reports CRC32 with some references. Speaking in short: How can I find where this CRC is checked so I can patch it ?
If there a protection that uses CRC check, try to put breakpoints on CRC addresses you've got from Krypto Analyzer (I recommend Keygener Assistant) then see if they are hit. If so, see how to tackle them and you may change the whole routine to something like (in this example, eax is the register used after the routine call):
mov eax,1 ret
P.S: sometimes, the app will mess up if changed the routine and that routine is used inside other functions of the app.