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