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-Key: 39555

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

Printed on: April 24, 2024 at 06:04 o'clock

Mitglied: 18697
18697 Sep 08, 2006 at 19:03:43 (UTC)
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 ...
Member: joerns
joerns Sep 08, 2006 at 19:44:18 (UTC)
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
Mitglied: 18697
18697 Sep 09, 2006 at 11:07:22 (UTC)
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.
Member: joerns
joerns Jan 01, 2007 at 21:08:08 (UTC)
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