[OT]Registry Keys überwachen,...

21/10/2008 - 08:17 von Kerem Gümrükcü | Report spam
Hallo,

sicher ist jeder schon mal auf die Idee gekommen, oder
hat die Funktionalitàt benötigt (ich benötige sie gerade!),
einen Registry-Key auf Verànderungen zu überwachen.
Dazu gibt es ja die advapi32.dll::RegNotifyChangeKeyValue
die diesen Aufrufweg hat:

RegNotifyChangeKeyValue
NtNotifyChangeKey
ZwNotifyChangeKey (DispID=0x6f )

Nun, die Frage ist folgende: Ich benötige nicht nur die
Information "veràndert" sonder auch die Info von "was"
auf "was" veràndert wurde. In C# benutze ich die Funktion
per PInvoke dafür um eine Verànderung abzufangen, aber
ich will ja auch wissen, was vorher war und was jetzt. Ich
weis, die Frage ist etwas OT, aber "vielleicht" hat jemand
eine Idee, wie ich das anstellen kann? Mir fehlt einfach
die Möglichkeit für die Regsitry, die man z.B. mit dem
FileSystemWatcher hat, die ja auch die API kapselt. Es
ist ein generelles Problem, das es einfach keine (UserMode)
API dafür gibt,...

Hat irgend jemand schon mal dieses Problem gehabt
und vor allem eine Lösung dafür gefunden? Kollegen
bei Sysinternals raten mir im Kernel zu arbeiten oder
"wieder" APIs zu hooken, aber wegen jedem Mist in
den Kernel zu switchen und zu hooken ist echt nix, da
mir auch langsam Sicherheitssoftware echt Probleme
macht, da sie immer von was "gefàhrlichem" ausgeht
Stop, Wait, Warning, Danger, Warning, Danger,...

Diese Frage habe ich auch in anderen NGs und Foren
(Englisch) gestellt,...

Grüße

Kerem

Beste Grüsse / Best regards / Votre bien devoue
Kerem Gümrükcü
Latest Project: http://www.codeplex.com/restarts
Latest Open-Source Projects: http://entwicklung.junetz.de
"This reply is provided as is, without warranty express or implied."
 

Lesen sie die antworten

#1 Frank Dzaebel
21/10/2008 - 09:34 | Warnen spam
Hallo Kerem,

Dazu gibt es ja die advapi32.dll::RegNotifyChangeKeyValue
[...] Nun, die Frage ist folgende: Ich benötige nicht
nur die Information "veràndert" sonder auch die Info
von "was" auf "was" veràndert wurde.



Hier sind ein paar Methoden dazu implementiert:

[PRB: RegNotifyChangeKeyValue() Sets Long-Term Association with Key]
http://support.microsoft.com/kb/236570/en-us

Zusammen mit:

[CodeProject: RegistryMonitor - a .NET wrapper class for
RegNotifyChangeKeyValue]
http://www.codeproject.com/KB/syste...nitor.aspx

kannst Du die Funktionalitàt dann recht einfach
in C# implementieren.




Kollegen bei Sysinternals raten mir im
Kernel zu arbeiten ...



die haben keine Ahnung ;-)



ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen