Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Registry überwachen (https://www.delphipraxis.net/38027-registry-ueberwachen.html)

F.W. 13. Jan 2005 18:29


Registry überwachen
 
Es gibt ja Programme, die die Registry auf Zugriffe überwachen. (z.B. BitDefender >> Wenn sich Programme in den Autostart einschreiben wollen)

Ich möchte ein Programm schreiben, dass alle Änderungen an der Registry überwacht (Möchte es hauptsächlich bei Installationen verwenden)

Ich weiß leider garnicht wie das geht, ich kann mir vorstellen, dass es sicher nur mit DLLs o.ä. geht, aber absolut keine Ahnung! :cry:

Könnt ihr mir helfen?

malo 13. Jan 2005 19:43

Re: Registry überwachen
 
Die Programme, die einzelne Schlüssel in der Registry überwachen, handeln meist nach dem Prinzip Daten speichern, danach Daten vergleichen mit den neuen, die das Programm aufnimmt. Wenn es eine Abweichung feststellt, wird ein anderer Code abgearbeitet (z.B. die Datei in der Registry gelöscht o.Ä.). Das wäre jedenfalls die einzige Möglichkeit, die ich mir vorstellen könnte. Wenn du nun die GANZE Registry überwachen willst, musst du bei jedem einzelnen Key überprüfen, ob es Änderungen gibt oder nicht. Das ist dann eigentlich schon so ziemlich unmöglich, würd ich mal sagen. Kleine Sachen, wie herausfinden, ob neue Autorun-Einträge gemacht wurden, dürfte noch machbar sein, weil es sich dann um maximal 3 Keys handelt (CurrentUser\...\Run und LocalMachine\...\Run und LocalMachine...\RunOnce). Bei deiner Idee müsstest du Millionen von Keys überwachen.

F.W. 13. Jan 2005 19:54

Re: Registry überwachen
 
Am Beispiel BitDefender:
Die Dateiüberwachung müsste doch auch so nach der Art funktionieren.
Ich hab vor kurzem was von FileSpy und RegSpy gehört, weiß aber nicht, was die genau machen, aber müsste doch damit was zu tun haben, oder?

malo 13. Jan 2005 20:30

Re: Registry überwachen
 
Ich kenne diese Programme nicht, aber ohne Systemeingriff wirst du wohl kein Programm schreiben können, dass ALLE Registry-Einträge überwacht. Also nicht mit Delphi möglich, es sei denn, die WinAPI bzw. das .NET-Framework bietet dafür eine geeignete Schnittstelle, von der ich nichts weiß.

Luckie 13. Jan 2005 20:36

Re: Registry überwachen
 
Kuck mal auf www.sysinternals.com, da hat es einen Registry-Monitor.

F.W. 13. Jan 2005 22:54

Re: Registry überwachen
 
*gucke*

Also da gibts etwas in die Richtung, allerdings zeigt das nicht an, welche Dateien geändert werden, sondern...

...ja...

...es macht halt irgendwie was anderes!

Also besteht das Problem immernoch!

Luckie 13. Jan 2005 23:02

Re: Registry überwachen
 
Wieso? Der Regmon zeigt doch alle Zugriffe auf die Registry an? Und wenn ich mich recht entsinne, haben die das mit einem viruellen Treiber gelöst.

scp 13. Jan 2005 23:05

Re: Registry überwachen
 
öhmm... du hast doch oben etwas von der Registry geschrieben. Dateiänderungen sind wohl ein anderes Thema, filemon zeigt dies aber an.
Für die komplette Registry würde ich RegShot empfehlen.
Es gab aber zu 9x-Zeiten mal zahlreiche Komplettlösungen dafür, einige gibt es heute noch, z.B. hier.

Phoenix 14. Jan 2005 06:49

Re: Registry überwachen
 
Zitat:

Zitat von malo
es sei denn, die WinAPI bzw. das .NET-Framework bietet dafür eine geeignete Schnittstelle, von der ich nichts weiß.

Dann klär ich Dich mal auf :zwinker:

Die Win32-API bietet tatsächlich sowas, und das nennt sich WMI. Über WMI kann man asynchrone Aufrufe starten, die soviel sagen wie: "Bitte schick mir ein Event, wenn sich etwas an dem Objekt ändert, das ich Dir hier mitschicke.". Als Objekt schickt man dann eben die verschiedenen Root-Nodes der Registry mit.

Kommt nun eine Änderung (von egal wem) an die Registry, so wird die Änderung durchgeführt und die WMI-Object-Sink löst ein Event aus. In dem Event kommt ein Objekt zurück, das sowohl die alten als auch die neuen Daten enthält.

Das ganze funktioniert - wenn es sauber implementiert ist! - sogar übers Netzwerk.

Erm ja. Und es hat einen gewaltigen Nachteil: Es ist auf dem / den Rechnern, deren Registry überwacht wird dann ziemlich Performancehungrig, da dann der Windows-'Systemverwaltungsdienst' den WMI-Provider der Registry regelmässig pollt. Du wirst also sehen, das der Dienst auf einmal recht viel Rechenzeit benötigt. Aber davon abgesehen funktioniert das ganze relativ elegant.

F.W. 14. Jan 2005 13:22

Re: Registry überwachen
 
@ Phoenix: Das ist ja genial!! :thumb: Und wenn ich das Programm nur zur Installation von Software laufen lasse, dann wird sich's wohl noch in Grenzen halten.

Dann werd ich mal nach WMI suchen!

Wer Bsps, Codes oder etwas wo man darüber nachlesen kann kennt, kann sie gern hier aufzählen!! :-D

Generalissimo 14. Jan 2005 13:52

Re: Registry überwachen
 
Hi,

klingt so, als wöllte hier jemand ein Programm schreiben um Trial-Versionen auszuhebeln die auf Registry-Einträge basieren.

Assarbad 14. Jan 2005 15:11

Re: Registry überwachen
 
Es gibt APIs um sowohl Registry als auch Dateiänderungen zu erfassen. Allerdings sollte man dies aus offensichtlichen Gründen (Performance) nicht für das Root-Verzeichnis oder die gesamte Registry machen. Wo die API nicht vorhanden ist, hilft API-Hooking (am besten SSDT auf NT-Systemen).

Kasoft 14. Jan 2005 16:05

Re: Registry überwachen
 
@Generalissimo sowas kann man auch für andere Sachen als Trial Cracking nutzen. Man muss ja nicht in allem sofort das negative sehen. Bei uns in der Firma wird auch mit Regmon gearbeitet um Software-Installationspakete silent machen zu können.


@F.W. in der letzten und vorletzten "Der Entwickler" wurde über WMI berichtet. Mit Quellcode etc. Ist ein Interessantes Gebiet weil man damit geniale Admin-Tools erstellen kann. Ist für Netzwerkadmins in mittel bis großen Netzen sehr brauchbar.


MfG
Kasoft

Assarbad 14. Jan 2005 16:41

Re: Registry überwachen
 
Ich bin mal so frei ;)
Kasoft sollte es so ausdrücken:
@F.W. in der letzten und vorletzten "Der Entwickler" wurde über WMI berichtet. Mit Quellcode etc. Ist ein Interessantes Gebiet weil man damit geniale Admin-Tools erstellen kann. Ist für Netzwerkadmins in mittel bis großen Netzen unabdingbar.


Beim MS Scripting Center finden sich auch jede Menge Scripte in verschiedenen Sprachen (von Batch über VBS bis Perl).

Kasoft 14. Jan 2005 16:46

Re: Registry überwachen
 
Wollte es eigentlich auch so ausdrücken. Hab mir aber geacht ich will keinen aufn Deckel bekommen :-)

F.W. 14. Jan 2005 20:31

Re: Registry überwachen
 
@Generalissimo: An so etwas habe ich noch garnicht gedacht... :twisted:
Nee, ich hatte hauptsächliche zwei Gründe dafür:
1. Ich habe mal bei SoF II ein Gewaltsperrenpasswort verhängt, welches länger war, als man später eingeben kann, um wieder reinzukommen! Ich weiß bis heute noch nicht, wos das Teil speichert!
2. Hatte mal Norton auf meinem Computer. Höchst wahrscheinlich ist das der Grund dafür, dass mein jetztiges Antivirenprogramm keine Auto-Prüfung im Hintergrund durchführt! Zur Überwachung würde ich daher gern bei solchen kritischen Sachen (Instalation von solchen Sachen oder eben bei SoF II) sowas mitlaufen lassen.

Lofi 21. Jan 2005 07:03

Re: Registry überwachen
 
hallo,

ich bräuchte was ähnliches, und zwar eine Art Registry Firewall. sowas gibt's meines Wissens noch nicht. der grund für diese Idee: ich habe bei meinen laufwerken autostart abgeschaltet. hin und wieder schaltet es ein programm wieder ein und das nervt wenn ich eine cd/dvd einlege und dann dieses fenster mit der programmauswahl kommt.

meine frage: kennt jemand sowas? ich meine damit nicht nur spezielle keys überwachen, sondern die komplette registry. sollte eigentlich funktionieren. der regmon von sysinternals checkt zb jeden registry zugriff. da müsste es doch ein leichtes sein auch einen blocker beim schreibversuch einzubauen, oder?

hat jemand erfahrung mit der registry überwachung in delphi? wie geht man das problem am besten an?

danke für die info!
Lofi

SubData 21. Jan 2005 08:40

Re: Registry überwachen
 
Hmm... Bisher sind mir noch keine Programme untergekommen, die Autostart von CDs wieder anschalten :gruebel:

Aber so ein Tool wäre ganz praktisch um sich beim Surfen nich am laufenden Band sone beknackten SpyWare einzufangen :mrgreen:
Ich denke da nur an GAIN und AnalyzeIE ... Die wieder aus dem System zu bekommen is echt hart (Ja ich weiß, dass man bei sowas eigentlich sowieso alles platt machen sollte -g-)

Lofi 21. Jan 2005 09:40

Re: Registry überwachen
 
ich weiss ja auch nicht, welche programme das sind. aber ich schalt's aus und aus und aus und irgendwie ist's dann nach ein paar tagen/wochen wieder an :?

yankee 21. Jan 2005 12:31

Re: Registry überwachen
 
Zitat:

Zitat von Generalissimo
Hi,

klingt so, als wöllte hier jemand ein Programm schreiben um Trial-Versionen auszuhebeln die auf Registry-Einträge basieren.

Ach, blubb...
Sowa gibt es doch schon. Das heißt daykill udn ist Freeware. Musst einfach mal suchen nach Bei Google suchendaykill download.
Allerdings stellt daykill beim starten von trialversionenn nur die Systemzeit für ein paar Sekunden zurück, so dass das Programm denkt, die Zeit wäre nch nicht abgelaufen :-)

Aber ich finde das Thema hier auchmal interessant. Ich finde ja persönlich, das Registryeinträge ein schlechter Programmierstil ist, aber - ich denke mal - da gibt es auch etliche Luet, die vom Gegenteil überzeugt sind, aber darüber will ich hier jetzt KEINE Diskussion anangen...
Wie auch immer: Da legt man sich genüsslich eine extra Partition an, damit die Systempartition vom Rest der Welt getrennt ist. Dann formatiert man die systempartition und installed windoofs neu (das mache ich alle 2 Monate ;-) -naja, übertirben, aber jedenfalsl ziemlich oft-) un schwuups entdeckt man 3 Arten von Programmen:
Typ 1: Guutes Beispiel: Läuft witer, als wäre nie was gewesen (verwendet keine reg.)
Typ 2: Befriedigende Beispiel: fragt gegebenenfalls nochmal nach dem cd-key oder so und stellt seine registryeinträge wieder her
Typ 3: "Das Programm is beschädigt, eine neuinsallation könnte das Problem beheben" oder "Acess Violation Error" oder sowas. :kotz: , sowas ist anstrengend!

Wie auch immer. Um beim Programmtyp3 Abhilfe zu schaffen wäre so ein Programm auch praktisch sein.
Aber, wo cih schonmal am fragen bin: Kennt jemand ein programm, mit welchem das geht (welches dann aus den Änderungen .reg Dateien erstellt? Oder wirst du (F.W.) dein progi mit sowas auststtaen? Wird das Freeware?

heiopei 10. Sep 2005 16:29

Re: Registry überwachen
 
hallo,
kram jetzt mal diesen beitrag raus um keinen neuen anzufangen

ich hab mir auch mal vorgenommen ein programm zu schreiben, dass die registry bei installationen überwacht. allerdings hatte ich nie genug zeit und wusste auch nicht wich es realisieren soll.

doch scheint das ja mit wmi möglich zu sein - jetzt stellt sich mir nur die frage, was genau die wmi ist, wie ich auf sie zugreifen kann, bzw. wie ich das problem damit lösen kann.

mfg,
heiopei


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz