Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Kopieren einer Laufenden Datei verhindern?!?! (https://www.delphipraxis.net/43005-kopieren-einer-laufenden-datei-verhindern.html)

Speedmaster 27. Mär 2005 13:19


Kopieren einer Laufenden Datei verhindern?!?!
 
Also Folgendes:

Ich habe ein Programm als verschlüsselte Ressource in meinem Programm, dieses muss ich leider seit dem SP2 auf die HD Kopieren um diese zu starten!
Jetzt möchte ich aber nicht das der User an die Exe drankommt solange dieses Programm läuft, wie kann ich möglichst einfach und auf Win9x und NT Systemen funktionierend verhindern das diese Kopiert wird, oder der Zugriff einfach ganz verweigert wird?

Grund ist das ich verhindern möchte das jemand ohne größeren Aufwand versuchen kann die exe zu cracken!

thx für die Antworten!

arbu man 27. Mär 2005 18:04

Re: Kopieren einer Laufenden Datei verhindern?!?!
 
öffne die datei fmshareexklusiv!

Speedmaster 31. Mär 2005 15:42

Re: Kopieren einer Laufenden Datei verhindern?!?!
 
Zitat:

Zitat von arbu man
öffne die datei fmshareexklusiv!

Das heisst, b.z.w. wie macht man es??

Khabarakh 31. Mär 2005 15:50

Re: Kopieren einer Laufenden Datei verhindern?!?!
 
Du öffnest deine Datei über Delphi-Referenz durchsuchenTFileStream.

Speedmaster 7. Apr 2005 22:08

Re: Kopieren einer Laufenden Datei verhindern?!?!
 
Zitat:

Zitat von Khabarakh
Du öffnest deine Datei über Delphi-Referenz durchsuchenTFileStream.

Entschuldigt die Frage, geht das auch mit einer exe?

Mephistopheles 7. Apr 2005 23:25

Re: Kopieren einer Laufenden Datei verhindern?!?!
 
Es geht mit beliebigen Dateien, es sei denn sie sind in Benutzung, dann schlägt's fehl.

Muetze1 7. Apr 2005 23:27

Re: Kopieren einer Laufenden Datei verhindern?!?!
 
Moin!

Und wie stellt ihr euch das vor? Entweder er sperrt die Datei in dem er sie mit dem TFileStream exklusiv öffnet - aber dann kann er die EXE selber nicht mehr ausführen

ODER

er startet die EXE und versucht danach die EXE exklusiv zu öffnen - was auch fehl schlägt.

So, toller Tipp, lang und breit erklärt, aber wie soll er funktionieren???

MfG
Muetze1

Luckie 7. Apr 2005 23:28

Re: Kopieren einer Laufenden Datei verhindern?!?!
 
Was ist denn so tolles geheimnisvolles in der Ressource drinn, dass du sie verschlüsslet hast und keiner drankommen soll?

runger 8. Apr 2005 06:46

Re: Kopieren einer Laufenden Datei verhindern?!?!
 
Hallo Luckie,

bitte bleib doch beim Thema. Das ist doch völlig unerheblich.
Mich interessiert das Thema auch.
Aber bitte keine philosophische Diskussionen!
Also: wie kann man die laufende exe vor dem Kopierten schützen?

Rainer

MisterNiceGuy 8. Apr 2005 07:12

Re: Kopieren einer Laufenden Datei verhindern?!?!
 
Hm in den Demos von Delphi gibt es ein Programm, das dir hilft den Kopieren/Ausschneidendialog abzufangen.
Vielleicht hilft dir das...

Basilikum 8. Apr 2005 08:41

Re: Kopieren einer Laufenden Datei verhindern?!?!
 
hm... irgendwie kann das so nie klappen... das Sperren der EXE-Datei alleine kann sehr einfach umgangen werden:
  • "Hauptprogramm" abschiessen: EXE bleibt auf der Platte, nicht mehr gesperrt
  • Nach beenden mittels Undelete EXE wieder herstellen (könnte man mit Überschreiben verhindern)
  • NTFS-File-Permissions so setzen, dass EXE nicht mehr gelöscht werden kann (ev. könnte man was drehen, dass sie auch nicht überschrieben werden kann): EXE bleibt an Ort und Stelle
Mit diesem Ansatz ist also nur ein sehr geringer Schutz erzielbar.. womit wir wieder bei der Aussage sind: es gibt keinen 100% Schutz und kann auch keinen geben

das sicherste wäre wohl, den EXE-Loader von Windows nachzubauen und die EXE direkt in den eigenen Adressraum laden, und dort ausführen..... aber ob sich der Aufwand lohnt ?

Luckie 8. Apr 2005 11:40

Re: Kopieren einer Laufenden Datei verhindern?!?!
 
Zitat:

Zitat von runger
bitte bleib doch beim Thema. Das ist doch völlig unerheblich.
Mich interessiert das Thema auch.

Finde ich nicht unerheblich. Eventuell gib es für sein problem ja auch eine andere besserer, einfachere Lösung. Das kann man aber nur beurteilen, wenn man den Grund kennt.

Speedmaster 8. Apr 2005 13:54

Re: Kopieren einer Laufenden Datei verhindern?!?!
 
Zitat:

Zitat von Luckie
Was ist denn so tolles geheimnisvolles in der Ressource drinn, dass du sie verschlüsslet hast und keiner drankommen soll?

Ich arbeite an einem "Switcher"(Programm was Onlinespiele anzeigt, ein kleines Anticheattool enthält).
Wir wollen ein Update mit einer neuen exe rausbringen(Seit dem Zeitpunkt dürfen wir sie aus Problemen mit "Fireglow" nicht mehr verändern. Nun haben wir 2 exen, eine die man nur benutzen kann wenn man mit dem Internet Verbunden ist(Verschlüsselt, Verschlüsslungscode wird runtergeladen), und die Alte.

Jetzt muss ich leider seit SP2 die exe auf die Platte kopieren um sie zu starten, und deshalb möchte ich verhindern das diese zur Laufzeit kopiert wird.
Ich kann leider keine NTFS Partition vorraussetzen, deswegen entfällt diese Möglichkeit!

Basilikum 8. Apr 2005 14:16

Re: Kopieren einer Laufenden Datei verhindern?!?!
 
Zitat:

Zitat von Speedmaster
Jetzt muss ich leider seit SP2 die exe auf die Platte kopieren um sie zu starten

weshalb denn ? wegen "No Execution" (NX) ?

siehe dazu: http://www.microsoft.com/germany/msd...ntwickler.mspx
(VirtualAlloc/VirtualProtect & PAGE_EXECUTE_WRITECOPY)

Speedmaster 8. Apr 2005 14:40

Re: Kopieren einer Laufenden Datei verhindern?!?!
 
Ok, habe das nun Gefunden, aber wie genau setze ich es ein??

Delphi-Quellcode:
LPVOID lpvBase = VirtualAlloc( 
                       NULL, // System wählt Adresse
                       dwSize,  // Größe der Zuordnung
                       MEM_RESERVE, // reservierte Seiten zuordnen
                       PAGE_EXECUTE_READWRITE); // Zugriffsrechte Execute, Read, Write
 
 
/* Seitenschutz auf 'schreibgeschützt' ändern. */ 
VirtualProtect (lpStack,
                dwSize,
                PAGE_READONLY,
                lpdwOldProt);
DwSize ist vermutlich die größe des Speichers den ich haben möchte(Wusste nur das es ab SP2 nicht mehr geht, wie es geht weiss ich nicht)!

In der Delphi Hilfe stand dazu nicht viel!

Speedmaster 9. Apr 2005 17:36

Re: Kopieren einer Laufenden Datei verhindern?!?!
 
Push!

brechi 9. Apr 2005 17:50

Re: Kopieren einer Laufenden Datei verhindern?!?!
 
laden einer exe nachbaun ist gar net so schwer wenn man sich damit auskennt, besser ist da schon eine dll
aber mal im erst. da ich cheats progge, und ich mir das gerade alles durchgelesen habe, denke ich kaum das dein tool sicher ist ...

Speedmaster 9. Apr 2005 19:34

Re: Kopieren einer Laufenden Datei verhindern?!?!
 
Das Tool soll nicht 100Prozentig sicher sein. Es soll nur dafür sorgen das die "cracker" länger brauchen um das Programm zu cracken!

Ich erwarte auch nicht das Prof. "cracker" dran gehen, den das Spiel ist nicht bekannt genug dafür(b.z.w der Mod)!


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:09 Uhr.

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