Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Externe, BELIEBIGE Dateien mit einem Passwort schützen? (https://www.delphipraxis.net/8361-externe-beliebige-dateien-mit-einem-passwort-schuetzen.html)

Dannyboy 3. Sep 2003 09:40


Externe, BELIEBIGE Dateien mit einem Passwort schützen?
 
Ich würde gern ein Programm schreiben, welches andere Dateien zur
Laufzeit in sich selbst einbindet und erst nach Angabe eines korrekten
Passwortes freigibt. Später sollte diese Datei noch verschlüsselt
werden, aber zuerst brauche ich Informationen über das Einbinden
beliebiger Dateien zur Laufzeit in die eigene Programmdatei
.

Es soll exakt wie bei WinZip sein, würde man die Dateien einbinden, mit
einem Passwort schützen aber nicht komprimieren.
Bei dem Thema habe ich Hilfe echt nöig. :wiejetzt:

Assarbad 3. Sep 2003 09:45

Re: Externe, BELIEBIGE Dateien mit einem Passwort schützen?
 
Ich empfehle dringendst ein Beratungsgespräch mit:

Dr. crypt. Hagen Reddmann :mrgreen: :mrgreen: :mrgreen: :mrgreen:

PS: @Hagen ... nimms mir nicht übel ... einfach auf DEC verweisen erschien mir nicht angebracht ;)

Nachtrag: Zur Laufzeit kannst du nichts einbinden. Und zwar aus gutem Grund.

Dannyboy 3. Sep 2003 10:14

Re: Externe, BELIEBIGE Dateien mit einem Passwort schützen?
 
Das DEC habe ich schon zu Hause liegen, und da bin ich auch schon ganz heiß drauf, zugegeben. :firejump:

Zu Deinem Kommentar ...

Zitat:

Nachtrag: Zur Laufzeit kannst du nichts einbinden. Und zwar aus gutem Grund.
.. fällt mir ein, dass manche Viren wohl laut "AntiVir-
Virenbeschreibung" ihr Unheil auch an andere Dateien zur Laufzeit anhängen,
also muss es doch irgendwie möglich sein,
einem Programm zur Laufzeit ein simples Fensterchen mit einer Passwortabfrage zu verpassen, oder? :gruebel:

Wormid 3. Sep 2003 12:48

Re: Externe, BELIEBIGE Dateien mit einem Passwort schützen?
 
WinRAR und andere Packer, die Selbstentpackende-Exes basteln können machen das nach dem Prinzip "copy /B default.sfx + test.rar test.exe" (oder so ähnlich - Programmtechnisch wird man das aber eher mit TFileStreams machen)

Wobei default.sfx eine Lauffähige Exe ist, die beim Starten prüft, ob Daten in der Datei vorhanden sind. Denn zur Laufzeit extrahieren geht ohne Probleme, Daten einfügen nicht.

Im Grunde musst Du für deine Anwendung 2 Programme erstellen: Einmal die Entschlüsselungs-Exe, die mit den Daten zusammenkopiert wird, und einmal das Programm, das die Daten verschlüsselt und dann mit dem Header versieht.

Gruß

Wormid

Assarbad 3. Sep 2003 12:50

Re: Externe, BELIEBIGE Dateien mit einem Passwort schützen?
 
Wenn eine Datei läuft, dann ist sie in Benutzung durch das System. Deshalb kann sie währenddessen nicht verändert werden.

Einer EXE-Datei, die gerade nicht in Benutzung ist, etwas anzuhängen ist natürlich kein Problem. Es gibt allerdings Viren, die mit einem Treiber arbeiten und die mit dessen Hilfe auch zur Laufzeit die NTFS-Strukturen benutzen undso allerlei Sicherheit umgehen (Treiber dürfen das). Hat aber IMO schon nix mehr mit deiner Frage zu tun.

Dannyboy 3. Sep 2003 14:34

Re: Externe, BELIEBIGE Dateien mit einem Passwort schützen?
 
Ok, ich verstehe, was ihr meint. Mann kann geöffnete Programme nicht
verändern, ebenso, wie man sie nicht verschieben/löschen kann; schon
klar. Aber wäre es nicht der schnellere Weg eine Exe mit dem
Passwortschutz-Programm zu "infizieren", anstatt die komplette Exe +
Schutzprogramm zusammen in eine neue Datei zu kopieren. Hätte die Exe
nämlich Hunderte von MB, dann wäre das doch praktischer, oder?

Im Grunde muss man bloß das Passwortschutz-Programm an den Anfang in
die Exe reinkopieren. Nur wie mach' ich das, ohne die Exe kaputt zu machen???
:gruebel:

Assarbad 3. Sep 2003 17:18

Re: Externe, BELIEBIGE Dateien mit einem Passwort schützen?
 
Du beschäftigst dich eingehend mit dem PE-Format und hängst komplett autonomen (also keine externen Referenzen) Code hinten an die EXE an. Danach modifizierst du die Sektionstabelle und den Eintrittspunkt (wobei der alte als Sprungadresse bei erfolgreicher Passworterkennung dient) und setzt ggf die Checksumme. Kling einfach ... ist es aber nicht.

negaH 3. Sep 2003 20:01

Re: Externe, BELIEBIGE Dateien mit einem Passwort schützen?
 
Asserbad hat recht damit. Ergänzend meine ich du solltest dir im WEB mal die PE-Packer anschauen UPX/ASPack usw. deren Technologie istb ds was du suchtst.

Allerdings gäbe es noch einen einfacheren Weg, besonders als erster Start geeignet.

Verschlüssele beliebige Dateien und ändere deren Extension auf eine spezifische Extension zu deinem Verschlüsselungsmodul, z.b. .SECURE.
Nun registrierst du diese Extension mit deiner Anwendung. Wird per Doppelklick diese Datei geöffnet startet dein Verschlüsselungsmodul mit Parameter auf diese *.SECURE Datei. Nun fragst du mit deiner Anwendung das Passwort ab und entschlüsselst die Datei. So entsteht wieder die originale Datei, eg. EXE. Nun kann dein Modul diese EXE per CreateProcess() starten und nach Beednigung des Proceses die EXE sofort wieder verschlüsseln.

Gruß Hagen

Dannyboy 4. Sep 2003 11:00

Re: Externe, BELIEBIGE Dateien mit einem Passwort schützen?
 
Sehr gut, ich danke Euch. Dann werde ich mich mal umgehend mit den PEs
befassen um mich dahingehend weiterzubilden. Hat jemand von Euch einen
guten Link, oder ein Tutorial, welches mir Informationen über das
Handling von Portable Exe Files liefern kann? :gruebel:

PS: Habe schon hier im Portal unter "Suchen" danach geschaut ... ohne Erfolg. :(

Assarbad 4. Sep 2003 13:30

Re: Externe, BELIEBIGE Dateien mit einem Passwort schützen?
 
Bei Google suchenICZELION LUEVELSMEYER PE PORTABLE EXECUTABLE

http://www.elicz.cjb.net/
http://win32asm.cjb.net/
ftp://ftp.erm.tu-cottbus.de/freeware/idafre41.zip
http://www.sistemo.com/
http://undocumented.ntinternals.net/
http://protools.cjb.net/
http://upx.sourceforge.net/
http://www.microsoft.com/msdownload/...msdk/sdkupdate
http://www.research.microsoft.com/sn/detours


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:28 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz