fritzo
Goto Top

Regkey lässt sich nicht löschen

Hi,

ich habe einen Regkey gefunden, auf den ich keinerlei Zugriff habe und der sich nicht löschen lässt. Es handelt sich nicht um einen der Standardkeys, sondern um einen, der scheinbar bei der Installation von O&O Defrag gesetzt wurde; jedenfalls spuckt das Google aus.

Der Key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\System

Ich würde ihn gern löschen, aber es funktioniert weder mit einer Deinstallation von O&O noch mit regedit noch mit einem Script (reg.exe und vbscript habe ich schon ausprobiert).

Der Grund dafür, daß er sich nicht lesen oder löschen lässt, ist ein unsichtbarer 0-Byte-Eintrag unterhalb des Zweigs.

Weiß jemand einen Weg, wie man solche Regkeys löscht? Marc Russinovich von Sysinternals scheint einen Weg zu wissen (er hat ein Beispielprogramm zur Verfügung gestellt, mit dem sich ein solcher Key setzen und wieder löschen lässt), aber bevor ich ihn anschreibe, würde ich gerne nochmal hier nachhören, ob jemand einen Weg kennt. Danke im voraus.

Grüße,
fritzo

Content-ID: 8076

Url: https://administrator.de/contentid/8076

Ausgedruckt am: 22.11.2024 um 04:11 Uhr

franzkat
franzkat 13.03.2005, aktualisiert am 17.10.2012 um 15:15:04 Uhr
Goto Top
So ein Problem habe ich auch schon mal gehabt mit Acronis Trrue Image. Du kannst es lösen, indem du offline auf die Festplattenregistry zugreifst und dann löschst. Wie das mit PE-Builder im Detail funktioniert, habe ich im Tutorial beschrieben :

Wie kann ich die Registry in W2K und XP offline bearbeiten ?
fritzo
fritzo 13.03.2005 um 15:28:45 Uhr
Goto Top
Hi Franz,

leider ist es nicht so einfach.. Dieser Eintrag lässt sich nicht mit herkömmlichen Tools bearbeiten, weil sie ihn gar nicht lesen können - es funktioniert daher auch offline nicht. Das Problem dabei ist der 0-Byte-Eintrag. Es ginge evtl. mit einem Hexeditor, aber da bin ich etwas vorsichtig; mit einem Editor in der Registry herumspielen möchte ich mir eigentlich nicht geben..

Hat sonst jemand noch eine Idee? Dankeschön im voraus.

Grüße,
fritzo
franzkat
franzkat 13.03.2005 um 20:17:04 Uhr
Goto Top
Hallo fritzo !

Interessantes Phänomen. Muss ich mich gleich mal intensiver mit beschäftigen und das Sysinternals-Tool testen. Du hast aber den Weg schon gewiesen : Was spricht gegen den Einsatz des Hex-Editors ? Aber auch das werde ich mal ausprobieren.

Nachtrag : Wenn du vorher die Registry-Datei 'software' auf ein anderes System kopierst, kannst du auch die Operation mit dem Hex--Editor gefahrlos durchführen. Dann tauschst du die beiden software-Dateien unter PE-Builder mal aus und testest das Ergebnis.
franzkat
franzkat 13.03.2005 um 23:35:25 Uhr
Goto Top
Muss leider zugeben, dass alle meine Versuche, das Problem auf die Schnelle über einen Hex-Editor zu lösen, gescheitert sind, da die Datenstruktur der Registry im Hex-Editor mit den vielen Steuerzeichen für die Datenbank unübersichtlich ist. Das Ergebnis ist dann allzuschnell eine nicht mehr funktionsfähige Registry-Datei.Da steht dann das Risiko nicht im vernünftigen Verhältnis zum Nutzen.
franzkat
franzkat 15.03.2005 um 00:04:58 Uhr
Goto Top
Man kann natürlich den Eintrag doch per Hex-Editor entfernen, wenn man Besonderheiten der Registry-Dateien beachtet. Ich habe das für das Sysinternals-Beispiel nun doch mit befriedigendem Ergebnis geschafft :

  • man lädt die Datei software aus %windir%\system32\config (kann man nicht direkt machen; ich habe mit einer ERUNT-Kopie gearbeitet; das geht am bequemsten)
in einen Hexeditor
  • man sucht den Textstring Internals und markiert dann den Ausschnitt wie im Screenshot :
  • anschließend auf Entf drücken.
  • man fügt exakt an dieser Stelle wieder statt der gelöschten 272 Byte die gleiche Anzahl 0 Byte ein.

Anschließend im Hex-Editor speichern und wieder zurück in den config-Ordner.

Der Native-API-Spuk ist verschwunden.
fritzo
fritzo 15.03.2005 um 00:50:47 Uhr
Goto Top
Hi Franz,

Man kann natürlich den Eintrag doch per
Hex-Editor entfernen

sehr genial face-smile

- man lädt die Datei software aus
%windir%\system32\config (kann man nicht
direkt machen; ich habe mit einer
ERUNT-Kopie gearbeitet; das geht am
bequemsten)
in einen Hexeditor

ich zieh mir das denn mal mit BartsPE.

- man sucht den Textstring Internals und

mit "System" wird es wahrscheinlich ein bißchen Sucherei *grins* ich denke ich suche mir einen sprechenden Eintrag in der Nähe und schau ob ich ihn dann irgendwo finde. Oder ich suche nach Nullbyte-Folgen "\0"

markiert dann den Ausschnitt wie im

Ok, kannst Du das Format in etwas beschreiben? Haben die Entries irgendwelche Header zur Orientierung? Hab sowas mit der Registry noch nie gemacht.

- man fügt exakt an dieser Stelle
wieder statt der gelöschten 272 Byte
die gleiche Anzahl 0 Byte ein.

NOPs *grins* das erinnert mich an etwas, das lange her ist

Anschließend im Hex-Editor speichern
und wieder zurück in den config-Ordner.

auch offline, selbstredend.

Ich find es echt klasse, daß Du soviel Energie da reinsteckst! Dickes Dankeschön schon mal dafür!

Ich wart noch ein bißchen ab, ob Du die zwei Fragen da oben beantworten kannst. Wenn nicht, versuche ich es so, wird schon klappen. Was wäre eigentlich der worst case? *grins

Grüße,
fritzo
franzkat
franzkat 15.03.2005 um 05:57:26 Uhr
Goto Top
Hlo dir zunächstmal das Tool ERUNT. Damit legst du eine Sicherung der Registry mit deinem Windows-System an. Dann kopierst du dir die Datei 'software' aus x:\windows\erdnt\<Datum> in einen x-beliebigen Ordner.
Das ist jetzt deine Registry-Arbeitsdatei, an der du alles testen kannst. Deine eigentliche Registry bleibt so völlig unberührt, solange, bis die Veränderungen alle funktionieren.
DSie software-Datei lädst du dann in einen REg-Editor. Wie das bei dir mit dem Twextstriung aussieht, kann ich schwer sagen. Suche nach \0-Strings werden keinen Erfolg haben. Das ist zu unspezifisch.Ich werde mal selbst die Defrag-Geschichte testen.
franzkat
franzkat 15.03.2005 um 16:42:58 Uhr
Goto Top
Hallo fritzo !

Ich denke, ich habe eine praktikable Lösung für dich :

Der O&O-Defrag-Eintrag ist in der Hex-Ansicht noch wesentlich komplizierter als der Sysinternals-Simulationseintrag. Da hat man per Hex-Editor praktisch kaum noch eine Chance, ohne die Registry zu beschädigen, wenn man die Offsets nicht genau kennt. Es gibt aber einen anderen Weg, den Eintrag korrekt zu löschen :

Das altbekannte Petter-Nordahl-Tool Offline NT Password & Registry Editor ist eben nicht nur zum Passwortsetzen gut, sondern auch zum Registry-Editieren.Das ist zwar auf der Kommandozeile etwas gewöhnungsbedürftig, aber man hat vollen Zugriff auf den besagten O&O-Null-Key; und da eben unter Linux nicht die Windows API benutzt wird, kann man dann auch den O&O Defrag-Eintrag- wie ich selbst erfolgreich getestet habe - korrekt löschen.
fritzo
fritzo 15.03.2005 um 23:05:21 Uhr
Goto Top
Hey,

das habe ich sogar hier rumfliegen. Ich probier das am WE mal ganz in Ruhe aus und berichte dann von den Ergebnissen (vorher werde ich wohl ein Image ziehen, falls was in die Hose gehen sollte.

Nochmal dickes Dankeschön!!

Viele Grüße,
fritzo
fritzo
fritzo 25.03.2005 um 03:50:16 Uhr
Goto Top
Hi Franz,

Zitat:
"Ich habe jetzt noch mal bei dem O&O-Eintrag folgendes getestet :Wenn man die beiden Bytes hinter 'System' in einem Hex-Editor mit X und 0 überschreibt, dann wird der Name des Eintrags in SystemX umbenannt und der Namensstring entsprechend der Win API-Konvention korrekt terminiert. Der Eintrag erscheint dann unter regedit ganz normal. Der Wert kann eingesehen und der ganze Eintrag problemlos gelöscht werden."

Du hast also die Registry offline wegkopiert, mit einem Hexeditor geöffnet, die Bytes geändert und sie dann wieder verschoben, richtig?

Grüße,
fritzo
fritzo
fritzo 25.03.2005, aktualisiert am 23.10.2012 um 11:01:59 Uhr
Goto Top
Hi Franz

ich habe eine Möglichkeit gefunden, es online durchzuführen, es wird lediglich ein Reboot benötigt, um die geänderte Registry auszutauschen.

HowTo - Delete 0-Byte Registry Keys

File closed face-smile Dankeschön nochmal!

Grüße,
Arne
nimdaresu
nimdaresu 14.10.2005 um 16:54:19 Uhr
Goto Top
Also wenn man sich gern mit Hex-Editoren abquälen will, gern, ich versteh davon nix.
Nur vielleicht ist es mir möglich geworden einen einfacheren Weg zu finden.

Denn in der regedit
bei sogenannten Eintrag der sich nicht löschen lasst bin ich draufgekommen, das es nur an der Berechtigung liegt, das dieser sich nicht entfernen lässt.

Somit nach dem alle F3 o&o defrag entfernt wurden
braucht ihr nur bei dem wos nicht geht

\bearbeiten
\Berechtigungen...
\Vollzugriff

mit einem Häckchen aktivieren,
(Administrator voraussetzung klarerweise)
und löschen

Falls ich das thema verfehlt habe sagt mir bescheid, aber sonst wär das glaubich das einfachste diese loszuwerden.

LG

Nimdaresu
fritzo
fritzo 14.10.2005, aktualisiert am 23.10.2012 um 11:02:15 Uhr
Goto Top
Falls ich das thema verfehlt habe sagt mir
bescheid, aber sonst wär das glaubich
das einfachste diese loszuwerden.

Bescheid ;) Danke aber dafür, daß Du helfen wolltest!

Das Problem bei diesen Keys ist, daß es sich nicht nur um fehlende Berechtigungen handelt, sondern daß man auf diese Keys überhaupt nicht mit normalen Tools zugreifen kann. Ich hatte es nach einer Weile selbst gelöst, die Doku dazu findest Du HowTo - Delete 0-Byte Registry Keys

Liebe Grüße zurück,
fritzo