joerns
Goto Top

Hooks bei Datei- und Registryzugriff

Programme ohne Installation starten

Hallo Leute,

bekanntlicherweise gibt es ja im www eine Menge Programme, mit denen man andere Programme zum laufen bringen kann. Ich denke da z.B. an den PEC (http://www.green-elk-soft.tk).
Doch diese Programme haben alle ein Problem: Sie schreiben Dateien auf die Festplatte, bevor ein Programm gestartet wird und entfernen sie danach wieder. Das hat aber ein Paar nachteile:
- Zugriffsprobleme
- Datenverlust
- Zeitufwand durch kopieren

Aber es müsste doch auch eine andere Möglichkeit geben: z.B. sogenannte "Hooks", d.h. das Programm will auf die Festplatte zugreifen und wird dabei aber "umgelenkt", also die Datei hat einen ganz anderen Pfad/Namen, als das Programm "denkt".

Frage:
Ist sowas zu realisieren, wenn ja, geht das auch für Registryzugriffe?
Mit welchen Mitteln geht das?

Danke schonmal

js

Content-ID: 39555

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

Ausgedruckt am: 04.12.2024 um 09:12 Uhr

18697
18697 08.09.2006 um 21:03:43 Uhr
Goto Top
So etwas bietet Windows XP unter dem Namen LUA an. Programme (von schlechten Programmierer) die unter einem eingeschränkten Benutzerkonto gestartet werden, können oft nicht auf Verzeichnisse wie zum Beispiel C:\Programme schreiben. Damit man die Programme nicht mit Administratorrechte starten muss (Sicherheitsproblem), kann für die problembehafteten Programme der LUA-Kompatibilitätsmodus aktiviert werden. Ist auf einem Programm der LUA-Kompatibilitätsmodus aktiv, so werden Schreibaktionen auf nicht-beschreibare Verzeichnisse (z.B. C:\Programme) umgeleitet in ein bestimmtes Verzeichnis im Benutzerprofil. Das gleiche gilt auch für nicht-schreibare Registrierdatenbankeinträge.

Wenn man es genau nimmt, besteht der LUA-Kompatibilitätsmodus aus mehreren einzelnen Kompatibilitätsmoden. Hier eine Übersicht über die wichtigsten zwei:

- LUARedirectReg
Das Anlegen und Schreiben von Registryeinträgen im Zweig HKEY_LOCAL_MACHINE wird auf den Zweig HKEY_CURRENT_USER umgeleitet. Die Einträge werden dann im Bereich\Software\Redirected abgelegt.

- LUARedirectFS
Das Anlegen und Beschreiben von Daten, die nicht im Profil des Benutzers abgelegt sind, wird auf eben diesen Bereich umgeleitet und die Dateien im Verzeichnis c:\Document andSettings\<username>\Application Data\<Name der Anwendung> abgelegt (zum Beispiel c:\Documents and Settings\Michael Willers\Application Data\ConsoleApp).

Leider ist LUA erst mit Windows Vista einigermassen ausgereift und in der Praxis auch nutzbar..

Mehr Informationen zu LUA:
http://www.microsoft.com/germany/msdn/library/security/DasApplicationCo ...
http://www.microsoft.com/germany/technet/technetmag/issues/2006/08/luab ...
http://www.microsoft.com/technet/technetmag/issues/2006/08/LUABugs/
http://blogs.msdn.com/aaron_margosis/default.aspx
http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/compatad ...
joerns
joerns 08.09.2006 um 21:44:18 Uhr
Goto Top
Cool, das ist, was ich gesucht habe. Da bleiben nur noch 2 Fragen
-Geht das auch bei Dateien, auf die der Benutzer zugríff hat?
-Lässt sich das in einer Anwendung verwirklichen?
danke
js
18697
18697 09.09.2006 um 13:07:22 Uhr
Goto Top
1.) Wie oben beschrieben, sollten eigentlich alle Schreibvorgänge ausserhalb des Benutzerprofils (C:\Dokumente und Einstellungen\<Benutzername>\) umgeleitet werden => Ausprobieren!

2.) Windows wird angewissen, einen bestimmten Kompatibilitätsmodus für eine Anwendung zu verwenden, sobald eine bestimmte *.exe-Datei aufgerufen wird. LUA kann also nicht in eine Anwendung integriert werden.
joerns
joerns 01.01.2007 um 22:08:08 Uhr
Goto Top
Soo, nach einiger Zeit beschäftige ich mich nochmal mit diesem Thema^^
Es ist doch zumindest unter anderen Programmiersprachen möglich, systemweite Hooks zu "schalten". Kann man das nicht irgendwie in VB integrieren (dll)?
Das Ganze funktioniert ja z.B. auch bei SpyBot...
joerns