Versteckten Eintrag in Registry finden

Hi Hackers,

ich habe eine Möglichkeit gefunden, in der Registry einen versteckten Eintrag zu platzieren, der sich ansonsten genauso verhält wie jeder andere auch, wenn sein Schlüssel bekannt ist.

FRAGE:
Weiß jemand von Euch, ob es auch möglich ist, versteckte Einträge in der Registry zu finden, deren Schlüssel unbekannt sind?

Norbert
 
Nein, jedenfalls nicht direkt,

du kannst aber mit überlangen einträgen das Löschen verhinder (wurde mal von einer Malware verwendet) oder mit aktiven prozessen eine andere registry unterjubeln.

cu
 
Versteckter Eintrag in Registry

Nun, wenn ich eine Routine schreiben würde, die nach einem Schlüssel sucht, in dem ein String mit mehr als 256 und weniger als 261 Zeichen enthalten ist, sollte es doch eigentlich funktionieren, oder?

Norbert
 
was möchstest du denn auslesen ?
in der Registry ?

Du kannst wahrscheinlich nicht nach 261 Byte langen schlüsseln suchen wenn diese "verboten" sind.
 
Ich möchte ganz einfach wissen, welche Programminstallation mir Daten auf den Rechner geschrieben hat, die ich nicht kontrollieren kann.

Ich bin sicher, daß es einen Weg gibt, Strings, die ich in die Registry schreiben kann, ganz gleich welche, auch wieder auszulesen vermag. Die Registry kann nicht zum Lesen ein Null Device sein, wenn sie dies zum Schreiben nicht ist.

Norbert
 
Hihi, als Pro seit 1972 ;-)

Hab's gerade gelöst, das Problem. Es geht!
Im Anhang die Funktion, die man Rekursiv aufrufen muß, um alle primären Schlüssel durchzukämmen. Filterkriterium: Länge des Strings im Schlüssel-Root-Eintrag. Wenn etwas am Kamm hängenbleibt, dann anzeigen lassen.

Ich leg sie zum Allgemeinverständnis in PowerBasic anbei.
(Die WinAPI Deklarationen liefere ich natürlich nicht mit.)

Norbert


Function RegValueGet(Root&, Key$, Field$, Value As Variant) As Long
LOCAL Result&, hKey&, dwType&, Lng&, Buffer$, l&
'Wert aus einem Feld der Registry auslesen
Result = RegOpenKeyEx(Root, Key, 0, KEY_READ, hKey)
If Result = ERROR_SUCCESS Then
Result = RegQueryValueEx(hKey, Field, 0&, dwType, ByVal 0&, l)
If Result = ERROR_SUCCESS Then
Select Case dwType
Case REG_SZ
Buffer = Space$(l + 1)
Result = RegQueryValueEx(hKey, Field, 0&, dwType, ByVal Buffer, l)
If Result = ERROR_SUCCESS Then Value = Buffer
Case REG_DWORD
Result = RegQueryValueEx(hKey, Field, 0&, dwType, Lng, l)
If Result = ERROR_SUCCESS Then Value = Lng
End Select
End If
End If
If Result = ERROR_SUCCESS Then Result = RegCloseKey(hKey)
RegValueGet = Result
End Function
 
Zurück
Oben