laola
March 31st, 2005, 06:40
First of all, please take the time to read my post before flaming, thanks 
I have a target which is protected with a newer version of Pr*tectCD (Version 5, Build 1042). I tried to track down the blacklists and to do so, I had to patch Regmon so that my target won't detect it and exit with some complaint about a debugger running. However, this turned out to be some rather difficult thing!
I searched on the forum and via google and came up with basically two methods of detecting regmon: The window class and the process name. So I started patching...
I did the following:
- renamed regmon.exe
- patched every occurrence of strings containing "regmon" or similar
- patched the device driver (stored in a binary resource and extracted/loaded at runtime), fixed the PE header checksum for the driver, patched the symbolic device name the driver registers
- patched the version info for device driver and regmon.exe
- patched the window class regmon registers
- patched the mutex the driver creates
And still, Pr*tect can detect my regmon! At present, I am out of ideas what to patch next. My hope is that somebody here has already encountered a similar situation and can give me some tips on this matter.
I admit, I am a newbie, and Pr*tectCD is a rather tough target, I fear I am not smart enough to examine Pr*tectCD itself, so I thought I should stick to the blacklists first
Btw, I am using Regmon 6.0.12 (downloaded a few days ago from Sysinternals, so it should be current).
Sidenote: Regmon calculates two random numbers to create the window class for registering it, but fails to seed the random number generator, so it always creates the same window class
I found code making use of this so I patched this problem as well, but to no avail (as I mentioned before)...
So at present I am almost back to field one and looking for some input on what to try next.

I have a target which is protected with a newer version of Pr*tectCD (Version 5, Build 1042). I tried to track down the blacklists and to do so, I had to patch Regmon so that my target won't detect it and exit with some complaint about a debugger running. However, this turned out to be some rather difficult thing!
I searched on the forum and via google and came up with basically two methods of detecting regmon: The window class and the process name. So I started patching...
I did the following:
- renamed regmon.exe
- patched every occurrence of strings containing "regmon" or similar
- patched the device driver (stored in a binary resource and extracted/loaded at runtime), fixed the PE header checksum for the driver, patched the symbolic device name the driver registers
- patched the version info for device driver and regmon.exe
- patched the window class regmon registers
- patched the mutex the driver creates
And still, Pr*tect can detect my regmon! At present, I am out of ideas what to patch next. My hope is that somebody here has already encountered a similar situation and can give me some tips on this matter.
I admit, I am a newbie, and Pr*tectCD is a rather tough target, I fear I am not smart enough to examine Pr*tectCD itself, so I thought I should stick to the blacklists first

Btw, I am using Regmon 6.0.12 (downloaded a few days ago from Sysinternals, so it should be current).
Sidenote: Regmon calculates two random numbers to create the window class for registering it, but fails to seed the random number generator, so it always creates the same window class

So at present I am almost back to field one and looking for some input on what to try next.