Erste Schritte Nach bestimmten Dateien suchen und dann in die Registry schreiben.

golf16v

Neues Mitglied
Hi Leute,

ich bin auf der Suche nach ner anständigen Lösung für folgendes Problem:
Ich möchte auf WindowsXP Systemen die SAFER - Richtlinien (Softwareeinschränkungsrichtlinien) benutzen. Um da nicht auf jedem System alles von Hand einzugeben und der fehlenden Im-Exportfunktion muss ich mir da selbst was zusammen basteln. Im wesentlichen sollte es so ausschauen; es können verschiedene Dateitypen (z.B.: *.EXE, *.DLL) und das Verzeichnis in dem nach diesen Dateitypen gesucht werden soll angegeben werden. Jetzt sollte ein Script/Programm/Sonstiges das Verzeichnis nach diesen Dateitypen durchsuchen und für jede gefundene Datei eine Regel mit HASH / GUID und PFAD-Angaben (Registrykonform) erstellen.

Dann gibts 2 Möglichkeiten, entweder das gefundene und erstellte in eine INF - Datei schreiben ob es de-/installierbar zu machen oder direkt in die Registry.

Ich hoffe ihr könnt mir da etwas weiter helfen, ob ich mein Vorhaben mit wenigen C# Kenntnissen und bisher Neuling auf JAVA umsetzen kann?

Vielen Dank schon mal.
 
Für dieses Vorhaben perfekt wär wohl eher eine BAT (oder VBS?).
Da Java keine betriebssystemnahe Programmiersprache ist, kannst du mit normalen Java Boardmitteln nicht einfach die Registry frei verändern*.

* An alle, die mich verbessern wollen: Natürlich, die Preferences werden unter Win dorthin geschrieben, aber das ist nicht "frei verändern" 😉
 
Hi Leute,

ich bin auf der Suche nach ner anständigen Lösung für folgendes Problem:
Ich möchte auf WindowsXP Systemen die SAFER - Richtlinien (Softwareeinschränkungsrichtlinien) benutzen. Um da nicht auf jedem System alles von Hand einzugeben und der fehlenden Im-Exportfunktion...

Beziehst Du Dich mit der "fehlenden Im-Exportfunktion" auf die Windows-Registry?
Dort gibt es sehr wohl die Möglichkeit per Batch Einträge zu importieren, oder auch
zu löschen.

Gruß,
ROlf
 
im windows regeditor kann man mit rechtsklick auf einen schlüssel exportieren. zum importerien reiicht ein doppelklick auf die so entstandene .reg datei

Das Ganze geht auch per Skript im Silent-Mode.

Beispiel:
Code:
regedit.exe /s dateiname.reg

Natürlich muss der ausführende Prozess Zugriffsrechte auf die zu importierenden, bzw. ändernden Keys haben.
 
Für dieses Vorhaben perfekt wär wohl eher eine BAT (oder VBS?).
Da Java keine betriebssystemnahe Programmiersprache ist, kannst du mit normalen Java Boardmitteln nicht einfach die Registry frei verändern*.

* An alle, die mich verbessern wollen: Natürlich, die Preferences werden unter Win dorthin geschrieben, aber das ist nicht "frei verändern" 😉

Hi,

ich hab mir halt bisher Kommandozeile unter WIN selbst angeschaut und VBScript.
Allerdings folgendes: Was Batchdateien alleine nicht können: GUIDs erzeugen. MD5-Hashes dagegen sind in *.CMD machbar, aber laaaaahm. In VBScript dagegen sind für beide Aufgaben Objekte (Scriptlet.TypeLib fuer Guid, und CAPICOM2) verfügbar. Dummerweise kann das in VBScript für den Registry-Zugriff verfügbare Objekt "WScript.Shell" kein REG_QWORD schreiben. Das braucht man für
"ItemSize"=hex(b): bei Hash-Regeln. Ebenso fehlen Methoden zum Auflisten von Registry-Einträgen und -Schlüsseln.

Beziehst Du Dich mit der "fehlenden Im-Exportfunktion" auf die Windows-Registry?
Nein, auf die Hilfstools wie z.B. SECPOL.MSC resp. GPEDIT.MSC.

Die Im-Exportfunktion wäre allerdings auch nicht unbedingt hilfreich wenn es auf verschiedenen Maschinen einfach verschiedene Umgebungen gibt und dann in den Verzeichnissen mehr oder weniger *.dlls, oder *.exe liegen.

Ich suche die Möglichkeit nach bestimmten Dateiendungen in einem Verzeichnis zu suchen und dann darauf eine SAFER-HASHRegel zu erstellen.
Evtl. kann man diese auch in eine INF wie z.B. im Anhang importieren.
Oder man lässt ne neue erstellen, bzw. kann es so programmieren dass man es direkt in die Registry schreiben kann.
 

Anhänge

Zuletzt bearbeitet:
golf16v: da hast du aber in Java auch nur die gleichen Möglichkeiten, wie in den anderen genannten Sprachen. Entweder ist's in der Sprache verfügbar (oder man schreibt es selbst), du rufst ein externes (non-Win) Tool auf oder es gibt irgendwas in den Win-Libs/-Programmen.
 

Zurück
Oben