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
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 hope it doesn't do that *g*