Die Hauptarbeit solcher Cleaner findet wohl unter HKEY_CLASSES_ROOT statt. Dort sind zum einen die Dateiverknüpfungen und zum anderen die Interfaces, TypeLibs und CLSIDs. Diese Schlüssel sind immer nach dem gleichen Schema aufgebaut. Existiert zum Beispiel unter HKEY_CLASSES_ROOT\
CLSID\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} ein Unterschlüssel mit dem Namen Inprocserver32 und der darin enthaltene Wert den Namen einer
DLL und diese existiert nicht, kann der Cleaner den Schlüssel löschen. Es gibt natürlich auch CLSIDs in einem dutzend anderer Varianten ohne Inprocserver32, irgend ein Verweis ist aber fast immer an einer bestimmten stelle gegegeben.
Das gleiche bei Dateiverknüpfungen: .txt verweist z.B. auf txtfile, dort ist ein shell\open\command mit der .exe usw.