Hey RegEdit, first off, sorry I missed your question!
One of the easiest ways to spot patched system files is to boot to a remote offline OS (or slave the drive), then:
- To have a whitelist of known good system files, and
- To check for Company information in the file.
If neither condition is met I begin an investigation of the driver. I actually have a script I am working on (I know, I've said this many times before, I just haven't completed it yet... life has gotten busy, having a baby, etc. etc.) which automates this process for me. It checks the file against a known whitelist I have started to create, then it checks Company information, compares THAT to a whitelist, and then if neither condition checks out, it even can check for the file's status in some places online. It's pretty handy, and it's what I used to find the most recent (zero-day) rootkit I dealt with this morning.
But often it's not much harder to just do it manually. If you can get a list of all unsigned drivers or files with no Company name in the system32 directory, you can work off of that. However it is very important to do this offline, as the smarter rootkits will simply feed you valid hash information and a good Company name (and digital signature) to keep you from finding them.
Alternatively, you can also try something like OTL, which scans at a very low level. But it requires quite a lot of practice to be used safely!