Autor Beitrag
DeMoLiSHeR
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Do 03.11.05 22:34 
Hi Leude

Ich würde mal gerne wissen ob es möglich ist eine beliebige Datei mit einem Passwort zu schützen! Also eigentlich muss es ja möglich sein! mit Delphi ist alles möglich :D

Ich habe habe es mir so vorgestellt:

Im Hauptprog kann man eine beliebige Datei auswählen und diese dann mit einem bestimmten passwort schützen. Und wenn die Datei dann über Windows geöffnet wird, poppt dann ein fenster auf in das man das Passwort eingeben muss und erst dann startet die Datei, falls das passwort richtig war. Anderfalls wird die Datei erst garnicht geöffnet.

wäre richtig goil wenn ihr mir da helfen könntet, thx im vorraus

Mfg DeMolisher
taipan84
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 17



BeitragVerfasst: Do 03.11.05 23:49 
Wie soll das ("wenn die Datei dann über Windows geöffnet wird, poppt dann ein fenster auf [...]") funktionieren?

Man müsste ja in allen Dateitypen einen ausführbaren Code implementieren, der den eigentlichen Inhalt nicht beschädigt, ihn aber auch nicht an die Oberfläche lässt (weitere abgedrehte Gedankengänge erspare ich mir).

Ich glaube du hast da etwas falsche Vorstellungen von dem, was man programmtechnisch umsetzen kann und wo welche Algorithmen überhaupt angesetzt werden können...
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Fr 04.11.05 00:17 
Mal nicht ganz so Hart.
(Wie soll das ("wenn die Datei dann über Windows geöffnet wird, poppt dann ein fenster auf [...]") funktionieren?).
DeMoLiSHeR hat geschrieben.
Im Hauptprog kann man eine beliebige Datei auswählen und diese dann mit einem bestimmten passwort schützen.
Angenommen sein Programm läuft unbemerkt im Hintergrund und kennt ja bereits den Namen der Datei, dann ist es doch ohne weiteres möglich eine Message auszugeben die ein Passwort verlangt und dann bei falsch eingabe die Datei am Starten zu hindern (Prizip Firewall zB.).
Ich Denke es ist ohne weiteres möglich, wenn auch nicht "Sicher".
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 04.11.05 01:28 
Da hat wohl jemand zu viel Fernseh geguckt, was? :mrgreen:

Dürfte mit einem Dateisystemtreiber realisierbar sein.
DeMoLiSHeR Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Fr 04.11.05 09:34 
gut anscheinend ist es nicht so leicht ^^ aba möglich ist es bestimmt.

ich habe es mirjetzt vollgendermaßen gedacht damit es nicht zu kompliziert wird:

Also im Hauptprogramm kann man die datei auswählen auf die man ein passwort setzten will. Dieses bennent dann einfach die endung der datei einfach um (z.b. Datei.exe => Datei.e oda so ). und wenn diese datei dann geöffnet werden will poppt das fenster automatisch auf, wegen der endung.Und wenn das passwort richtig eingegeben wurde wird die datei dann wieder ins richtige format umbenannt
das ist doch realisierbar oder ? Meine frage jetzt ist nur noch wie kann ich die Dateiendung umbennenen und wie kann ich windows dazu bringen,dass die datein mit der bestimmten Endung von meinem Programm gestartet werden ??
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Fr 04.11.05 10:00 
Dateien kannst Du umbenennen wie Du willst, das ist kein Problem da findet man hier im Forum genügend.
Zum Anderen schau mal hier.

www.dsdt.info/tipps/?id=236
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 04.11.05 12:13 
@Luckie: Wieso dafür erst nen Treiber bemühen? Systemweiter Hook auf die File-APIs mit zusätzlichem Auto-DLL-Load in der Registry sollte da eigentlich vollkommen reichen.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Danniolo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 693



BeitragVerfasst: Fr 04.11.05 12:46 
Also, mit einem Passwort schützen lassen sich Dateien ganz einfach, siehe hier.
Das mit dem Umbennen ließe sih sicherlich leicht einrichten, allerdings könnte man dann immer noch dein Passwort-Programm löschen... :wink:
DeMoLiSHeR Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Fr 04.11.05 13:50 
also ich habe mich mal im forum umgesehen nach einer möglichkeit die dateiendung umzubennenen, bin da folgendes gestoßen:

ausblenden Delphi-Quelltext
1:
ChangeFileExt					


doch leider will es nicht funzen mein quelcode sieht folgendermaßen aus :

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.btnOKClick(Sender: TObject);
begin
  ChangeFileExt(flb.FileName,'.bla');//flb ist eine FileListBox
end;


unten steht nur:
[Warning] Unit1.pas(7): Unit 'FileCtrl' is specific to a platform

Die datei wird nicht umbennant darum frage ich euch warum ??mache ich etwas falsch
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Fr 04.11.05 14:58 
ExtractFileExt gibt dir nur die Dateiendung deines Pfads zurück.zb.

ausblenden Delphi-Quelltext
1:
2:
endung := ExtractFileExt(OpenDialog1.Filename);  
  ShowMessage('Die ausgewählte Datei hat die Endung: ' + endung);


Zum Umbenennen schau mal nach Rename
DeMoLiSHeR Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Sa 05.11.05 01:07 
@ blackheart666: Ich benutze extraktfileext doch garnicht !! ich benutze changefileext und dabei macht er leider nichts müsste es eigenlich ändern !! doch leider tut er das nicht !! Es geschieht einfach garnicht die Endung bleibt die gleiche, dass liegt wohl an der warnung, welche der compiler mir anzeigt:

[Warning] Unit1.pas(7): Unit 'FileCtrl' is specific to a platform

mit der kann ich leider nichts anfangen, kann mir da einer helfen ? wäre echt nett da ich sonst nicht weiter komme.

thx im vorraus !!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 05.11.05 01:13 
user profile iconDeMoLiSHeR hat folgendes geschrieben:

Die datei wird nicht umbennant darum frage ich euch warum ??mache ich etwas falsch

Dann guckt man einfach mal in die Hilfe und dann sieht, dass es eine Funktion ist und den geänderten Dateinamen zurückgibt.
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Sa 05.11.05 09:50 
Sorry war so auf deine Endung fixiert da kann man schon mal was überlesen.
Nach Rename hättst du aber mal schaun können.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.UmbenennenClick(Sender: TObject);
begin
  RenameFile('C:\Textdatei.txt','C:\NeueTextdatei.jpg');  {1.-Alte Datei, 2.-Neue Datei}
end;

procedure TForm1.RueckgaengigClick(Sender: TObject);
begin
  RenameFile('C:\NeueTextdatei.jpg','C:\Textdatei.txt'); 
end;
DeMoLiSHeR Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Sa 05.11.05 11:59 
@ Blackhert666: thx damit geht jetzt :)
DeMoLiSHeR Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Sa 05.11.05 14:47 
so also ich bin jetzt so weit, dass die dateiendung umgeschrieben wird und das mein prog startet, wenn eine datei mit der speziellen endung gestartet wird.

Doch leider sitze ich erneut vor einem problem!!:( ich müsste nämlich wissen wie der pfad der datei ist, die mein prog gestartet hat! könnt ihr mir da weiter helfen ?
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Sa 05.11.05 15:27 
Schau mal nach paramstr(1) sollte helfen.
taipan84
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 17



BeitragVerfasst: Sa 12.11.05 00:28 
Um einen halbwegs sorgfältigen Schutz zu gewährleisten, reicht es meiner Meinung nach nicht, ein Programm im Hintergrund laufen zu lassen - ein solches Programm ließe sich einfach aushebeln bzw. beenden.

Eine andere Sache ist die, dass man natürlich den evtl. neuen Dateitypen (s. Extension) dem eigenen Programm zuweisen kann - aber was hindert einen daran, die Datei umzubenennen oder zu kopieren? Schon wäre es möglich, die Datei wie gewohnt zu öffnen... oder habe ich das falsch verstanden?

@Blackheart666: Meinst du nicht ParamStr(0)?

ausblenden Delphi-Quelltext
1:
ExtractFilePath(ParamStr(0))					



Ich betreibe ungern destruktive Kritik, aber ich weiss wirklich nicht, ob das, was Demo sich wünscht, so umgesetzt werden kann, wie er es sich wünscht...
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Sa 12.11.05 09:35 
Gruss !
Ich meinte schon Paramstr(1) er wollte ja nicht den namen seiner exe sondern den Namen der Datei die sein Programm geöffnet hat.
taipan84
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 17



BeitragVerfasst: Sa 12.11.05 12:07 
Oh, dann hab ich's falschrum betrachtet, sry :D