AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kopiervorgang unter Windows

Ein Thema von Avax2k · begonnen am 9. Mai 2006 · letzter Beitrag vom 9. Mai 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#11

Re: Kopiervorgang unter Windows

  Alt 9. Mai 2006, 16:01
Verschlüssele die Daten doch einfach in der Datei, dann kann der Benutzer mit der Datei machen, was er will und kann doch nichts mit anfangen. Jedenfalls die Benutzung des Systems einzuschränken ist die denkbar schlechteste Idee. Was, wenn ich irgendeine andere datei kopieren will und die sperrst mit das Kopieren im Explorer? Dann hat der Benutzer dein Programm die längste Zeit benutzt, das kann ich dir jetzt schon sagen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
FlatCoder

Registriert seit: 18. Mai 2005
12 Beiträge
 
Delphi 2007 Professional
 
#12

Re: Kopiervorgang unter Windows

  Alt 9. Mai 2006, 16:03
Hm... also wenn ich das richtig verstehe willst Du Daten temporär benutzen die nach Programmende nicht mehr gebraucht werden.

Wie wäre es mit Daten im Zwischenspeicher und nicht als physische Datei?
Arrays oder ähnliches?

Klar geht dadurch Arbeitsspeicher flöten aber kopieren usw. kann man meiner Meinung nach dann nix. Wenn eine physische Datei gewünscht wird, dann würde ich es auch über die exklusivrechte von WRITEFILE regeln...

Eine weitere Möglichkeit ist natürlich das vorhin angesprochene Verschlüsseln der Datei.
  Mit Zitat antworten Zitat
Avax2k

Registriert seit: 6. Okt 2005
186 Beiträge
 
Delphi 2005 Professional
 
#13

Re: Kopiervorgang unter Windows

  Alt 9. Mai 2006, 16:07
ja einziges problem ist... die Datei wird verschlüsselt als Resource eingebunden und um sie benutzen zu können muss ich sie entschlüsseln und vor dem Öffnen auf die Platte entschlüsselt packen..somit bringt mir das verschlüsseln da nichts..es sei denn du weisst, wie ich eine Datei öffnen kann ohne sie abspeichern zu müssen wenn ich sie entschlüssele.

wenn ich das richtig verstanden habe, dann kann ich wenn ich die Datei auf die Platte speichere den Zugriff auf diese dann exclusiv über WriteFile bestimmen und somit deren Kopieren verhindern..das wäre super wenn das so gehen würde...wie gesagt shareexclusive habe ich schon versucht und man konnte die Datei zwar nicht nochmal öffnen da er sagte sie wird benutzt wohl aber kopieren
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#14

Re: Kopiervorgang unter Windows

  Alt 9. Mai 2006, 16:54
hmm

Ist es möglich die Datei auch aus dem Speicher zu laden? Also mit z.B. LoadFromStream? Wenn ja, dann entschlüssele die Datei in ein TMemoryStream
  Mit Zitat antworten Zitat
Phistev
(Gast)

n/a Beiträge
 
#15

Re: Kopiervorgang unter Windows

  Alt 9. Mai 2006, 16:54
Zitat von Avax2k:
ja einziges problem ist... die Datei wird verschlüsselt als Resource eingebunden und um sie benutzen zu können muss ich sie entschlüsseln und vor dem Öffnen auf die Platte entschlüsselt packen..somit bringt mir das verschlüsseln da nichts..es sei denn du weisst, wie ich eine Datei öffnen kann ohne sie abspeichern zu müssen wenn ich sie entschlüssele.

wenn ich das richtig verstanden habe, dann kann ich wenn ich die Datei auf die Platte speichere den Zugriff auf diese dann exclusiv über WriteFile bestimmen und somit deren Kopieren verhindern..das wäre super wenn das so gehen würde...wie gesagt shareexclusive habe ich schon versucht und man konnte die Datei zwar nicht nochmal öffnen da er sagte sie wird benutzt wohl aber kopieren
zum 1. Absatz: Delphi-Referenz durchsuchenTMemoryStream, wenn möglich. Bietet ähnliche Funktionen wie ein FileStream, ist aber im Speicher abgelegt. Kopieren ist aber auch da möglich (mit WinHex zum Beispiel)

zum 2. Absatz: Zugriffsrechte kann man auch mit Windows-Mitteln umgehen: Task-Manager -> Prozesse -> dein Programm auswählen -> Prozess beenden. Rabiat, aber wirkungsvoll, da die Löschroutine nicht mehr aufgerufen wird .

/eidt: Roter Kasten?
  Mit Zitat antworten Zitat
Avax2k

Registriert seit: 6. Okt 2005
186 Beiträge
 
Delphi 2005 Professional
 
#16

Re: Kopiervorgang unter Windows

  Alt 9. Mai 2006, 17:05
dieses Process-Beenden als rabiate Lösung..ist gar nicht gut..man legt damit sein Windows lahm da dadurch der Code zum Rückgängigmachung des befehles nicht mehr ausgeführt wird..außerdem gibt es ja noch die Möglichkeit das ganze bei OnDestroy zu handeln und somit macht das gar nichts!

MemoryStream lässt sich nicht ausführen..also ich kann keine Exe-Datei in den Speicher laden und dann ausführen von einem anderen programm da es nicht weiss wo die datei ist im Speicherwirrwarr.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#17

Re: Kopiervorgang unter Windows

  Alt 9. Mai 2006, 18:05
Zitat von Luckie:
Und gerade hat jemand einen WorkAround geschrieben und hier veröffentlich, weil ein stream eine Datei nach dem Aufruf von Free die Datei nicht wieder freigegeben hat: http://www.delphipraxis.net/internal...ghlight=wmfree
*räusper*

Dieser jemand bin ich, und mein "WM_FREE" hat überhaupt nix mit API-Magics oder sonstigem zu tun(WM_FREE = WM_USER + 1 ^^)(nur wegen dem Highlight das du gesetzt hast)... das läuft alles programmintern, und anstatt einen filestream über die gesamte programmlaufzeit offen zu halten, der sich dann irgendwo verhakt(und ich das dateihandle während der programmlaufzeit nicht mehr freikriege), geb ich den Indys nur einen Memorystream den ich dann in einem einzigen ressourcenschutzblock auf einen filestream kopiere und diesen gleich wieder freigebe.

[/offtopic]


Also ich würde auch sagen, wenn du die Datei nur während deiner programmlaufzeit brauchst(aus ner ressource?), würd ich sie in nem memorystream halten.

wenn du aber eine funktion hast, die unbedingt einen filename braucht, würde das nicht über pipes gehen? da hast du dann als filename "\\.\pipe\irgendwas" oder so ähnlich.

EDIT: ob du einen prozess aus einer pipe heraus starten kannst, weiß ich allerdings nicht ^^

ansonsten schau, obs das ding als DLL gibt.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:31 Uhr.
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