Entwickler-Ecke

Alle Sprachen - Alle Plattformen - .exe- und .dll-Dateien in C# Launcher einfügen


MindGames - Sa 17.02.18 00:20
Titel: .exe- und .dll-Dateien in C# Launcher einfügen
Hallo,
ich hätte eine Frage bezüglich eines meiner Projekte. Ich finde momentan keinen Lösungsansatz und hatte gehofft von Außenstehenden Hilfe zu bekommen.
Die Situation sieht so aus:
Ich habe verschiedene Programme erstellt und haben nun .exe-Dateien und .dll-Dateien welche ich mit dem Launcher (dem eigentlichen Programm) verwenden möchte. Das Problem ist jetzt, dass man problemlos auch einzeln auf die .exe-Dateien zugreifen kann, ich möchte aber, dass das nur über den Launcher geschieht und man gar keinen externen Zugriff auf die Dateien haben kann. Nur weiß ich nicht wie ich das Problem angehen kann.
Man soll quasi die eigentlichen .exe/.dll-Dateien nicht einsehen können. Optimal wäre, wenn diese gar nicht permanent auf dem PC deponiert sind.

Vielen Dank vorab für die Hilfe


Delphi-Laie - Sa 17.02.18 23:47

user profile iconMindGames hat folgendes geschrieben Zum zitierten Posting springen:
Man soll quasi die eigentlichen .exe/.dll-Dateien nicht einsehen können.


Das funktioniert nur auf einer Partition mit einem Dateisystem, das Zugriffsbeschränkungen bietet. Installieren, also per Installation einrichten, kann man das aber m.E. nicht.

user profile iconMindGames hat folgendes geschrieben Zum zitierten Posting springen:
Optimal wäre, wenn diese gar nicht permanent auf dem PC deponiert sind.


Auf einem Webspace lassen sich Windows-Executables m.E. nicht starten bzw. deren Code ausführen.


GuaAck - Fr 02.03.18 01:02

Hallo Mindgames,

Du könntest z. B. die *.exe und *.dll als versteckte Dateien soeichern. Das würde zumindes naive Anvende aussperren.

Folgende Alternativ ist zwar von Experten ab Hobby-Hacker leicht zu knacken, aber nicht von typischen Anwendern:

a) Jede *.exe oder *.dll enthält folgenden Block:

- Kennungsstring, z. B. 128 Bit = 16 Zeichen
- DatumZeitString, evtl. verschlüsselt
- nach Bedarf, CRC über die gesamte Datei

b) Bei Start der *exe oder *dll: DatumZeitString (ggf. entschlüssen); falls die Datei älter als xx Sekunden ist, dann Abbruch.

c) Für den Launcher alle *.exe und *.dll in eine Binärdatei packen, bei Delphi evtl. auch in eine Resource, z.B. mit Verzeichnis am Anfang

d) Der Launcher holt sich die nötigen Dateien aus der Binärdatei, sucht in jeder Datei nach dem Kennungsstring, trägt die aktuielle Zeit und ggf. CRC ein, speichert die Ergebnisse als *.exe bzw. *.dll, startet das Programm und löscht alle Dateien nach Beendigung. Bei einem Programmabbruch verhindert die DatumsZeit-Überwachung einen Neustart der Datei.


Wenn Du das für einen brauchbaren Weg hältst, melde Dich, ich habe für Delphi einen Code, der sinngemäß arbeitet um bei Start einer *.exe mit einer CRC zu prüfen, ob sie verändert wurde.

Viele Grüße
GuaAck