AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Virtuelles Laufwerk oder Datei verteckt anlegen und starten
Thema durchsuchen
Ansicht
Themen-Optionen

Virtuelles Laufwerk oder Datei verteckt anlegen und starten

Ein Thema von Riese · begonnen am 18. Mai 2006 · letzter Beitrag vom 19. Mai 2006
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#11

Re: Virtuelles Laufwerk oder Datei verteckt anlegen und star

  Alt 18. Mai 2006, 22:48
Könnte man nicht irgendeinen Wert in die Registrierung schreiben, dass das Programm bereits gestartet wurde?

Eine andere Idee wäre, in der Datenbank diesen Wert zu hinterlegen und vor dem "Updaten" zu prüfen, ob bereits die aktuelle "Version" vorliegt.
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#12

Re: Virtuelles Laufwerk oder Datei verteckt anlegen und star

  Alt 18. Mai 2006, 23:12
Also mir fallen zwei mögliche Lösungen ein.

1. Dein Hauptprogramm, welches das andere Programm läd, hat dieses ein Fenster? Wenn ja, registriere dir eine WM_XXX Nachricht, nennen wir sie mal, WM_DARFICHSTARTEN. Sobald die exe ausgeführt wird, sucht sie nach deinem Hauptfenster und verschickt die Nachricht. Dein Hauptprogramm weiss ja über die aktuelle Sachlage bescheid und gibt ein "ok" zurück. Wenn das geladene Programm dein Hauptfenster nicht findet, oder kein ok bekommt -> quit

2. Ich weiss nicht in wie weit ein Hook auf createFile und readFile(ex?) sich auf createProcess auswirken würde. Dazu fehlen mir die Kenntnisse. Andere werden dazu sicher mehr sagen können. Aber ich denke wenn es möglich wäre damit den Lesevorgang "umzubiegen" wäre es vor langer Zeit schon erwähnt worden.

Gruss


*EDIT* @ dahead
Leichen zurück zu lassen ist unschön
Wer später bremst ist eher tot.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#13

Re: Virtuelles Laufwerk oder Datei verteckt anlegen und star

  Alt 18. Mai 2006, 23:44
Zitat von jus:
[...] und die Datei erst entschlüsselst und dann startest, nach dem Starten, kann es ja auch dann sofort gelöscht werden.
Dann könnte der Benutzer zwar die Datei kopieren, kann aber nix mit der verschlüsselten Datei anfangen.
... wie soll das denn gehen?
a.) kannst du es nicht sicher verschlüsseln ohne sichere Hardware, denn irgendwie muß der Schlüssel auch auf den Rechner des Users gelangen.
b.) wenn die Datei vor dem Starten entschlüsselt wird, kann man sie während der Ausführung kopieren.

Zitat von dahead:
Könnte man nicht irgendeinen Wert in die Registrierung schreiben, dass das Programm bereits gestartet wurde?

Eine andere Idee wäre, in der Datenbank diesen Wert zu hinterlegen und vor dem "Updaten" zu prüfen, ob bereits die aktuelle "Version" vorliegt.
Finde ich bisher am besten als Lösung. Problematisch ist das nur dann, wenn sich das (Binär-)Format der Datenbankdateien (oder deren Interface - API) ändert. Aber es in der DB zu hinterlegen ist definitiv am besten. Registry würde ich eher nicht nehmen - Bsp. gefällig? Bei mir ist die Registry auf Partition1, die ich oft mal wieder mit alten Backups überschreibe. Die Datenbank (Daten allgemein) habe ich aber auf Partition2. Nach einer Wiederherstellung eines Backups wäre der Status der Datenbank und in der Registry mglw. "out-of-sync".

Zitat von Vjay:
2. Ich weiss nicht in wie weit ein Hook auf createFile und readFile(ex?) sich auf createProcess auswirken würde. Dazu fehlen mir die Kenntnisse. Andere werden dazu sicher mehr sagen können. Aber ich denke wenn es möglich wäre damit den Lesevorgang "umzubiegen" wäre es vor langer Zeit schon erwähnt worden.
Würde sich garnicht auswirken. Intern werden ganz andere Funktionen aufgerufen. Stichwort: Native API.

Zitat von Vjay:
Leichen zurück zu lassen ist unschön
Leichen? Wo? Hab ich dahead mißverstanden?
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#14

Re: Virtuelles Laufwerk oder Datei verteckt anlegen und star

  Alt 18. Mai 2006, 23:56
Zitat von Olli:
Stichwort: Native API.
Habe ich mir schon gedacht, nu hast du mir jede Hoffnung auf eine bessere Welt genommen.


Zitat von Olli:
Leichen? Wo? Hab ich dahead mißverstanden?
Naja ich ging irgendwie davon aus, dass er in die Registry schreibt dass jenes Programm bereits ausgeführt wurde = ein Eintrag mehr. Mir ist klar das das "nichts" ist, aber mich stört der Gedanke der Verunreinigung.
Wer später bremst ist eher tot.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#15

Re: Virtuelles Laufwerk oder Datei verteckt anlegen und star

  Alt 19. Mai 2006, 00:03
Zitat von Vjay:
Naja ich ging irgendwie davon aus, dass er in die Registry schreibt dass jenes Programm bereits ausgeführt wurde = ein Eintrag mehr. Mir ist klar das das "nichts" ist, aber mich stört der Gedanke der Verunreinigung.
Achso. Ich ging davon aus, daß er sozusagen die aktuelle Datenbankversion in sowas wie einem REG_DWORD oder REG_BINARY abspeichert. Aber selbst das ist, wie man oben nachlesen kann, nicht hundertprozentig praktikabel, weil man ja Registry und Datenbank synchron halten muß.
  Mit Zitat antworten Zitat
jus

Registriert seit: 22. Jan 2005
344 Beiträge
 
Delphi 2007 Professional
 
#16

Re: Virtuelles Laufwerk oder Datei verteckt anlegen und star

  Alt 19. Mai 2006, 00:32
Zitat von Olli:
Zitat von jus:
[...] und die Datei erst entschlüsselst und dann startest, nach dem Starten, kann es ja auch dann sofort gelöscht werden.
Dann könnte der Benutzer zwar die Datei kopieren, kann aber nix mit der verschlüsselten Datei anfangen.
... wie soll das denn gehen?
a.) kannst du es nicht sicher verschlüsseln ohne sichere Hardware, denn irgendwie muß der Schlüssel auch auf den Rechner des Users gelangen.
b.) wenn die Datei vor dem Starten entschlüsselt wird, kann man sie während der Ausführung kopieren.
zu a.) und b.)
Zuerst nehme ich an, dass auch der Downloadmanager von Riese selbst entwickelt wird und der Downloadmanager die Update-Datei selber runterlädt. Ich hatte mir eigentlich vorgestellt, der Server verschlüsselt Teile/ganze Datei mit einem Passwort bevor die Datei verschickt wird. Dann schickt der Server das Passwort mit der Datei dem Downloadmanager, damit der Downloadmanager nicht immer dasselbe statische Passwort verwendet(ok muss nicht unbedingt sein ). Wenn der downloadmanager die Datei fertigruntergeladen hat, dann werden heruntergeladene Datei/oder Teile davon einfach im Ram entschlüsselt und gestartet.


Ich glaube, es geht hier ja auch nicht darum, ob es überhaupt nicht knackbar wäre, sondern einfach den DAU die Möglichkeit zu nehmen, die heruntergeladene Datei mehrmals ausführen zu lassen. Dass das einen Profi Cracker davon nicht abschreckt ist mir auch klar. Der kopiert sich einfach den Raminhalt und bastelt sich daraus eine unverschlüsselte Dateiversion....
Außerdem ist die Lösung mit der Registry für einen Cracker ja auch manipulierbar......
Letztendlich ist es vielleicht noch besser/notwendig, wenn man in das Updateprogramm zusätzlich einfach eine Updateerkennung einbaut, dass das Programm automatisch erkennt, ob die Daten(Exe/DLL-version, Datenbank,etc..) eh schon update sind oder nicht.

Grüsse,
jus
  Mit Zitat antworten Zitat
Real_Thunder

Registriert seit: 25. Apr 2006
197 Beiträge
 
#17

Re: Virtuelles Laufwerk oder Datei verteckt anlegen und star

  Alt 19. Mai 2006, 01:28
Also nun bin ich auch mal am überlegen.
Di Hattes von Normalusern Gesprochen...

Wieso sollten sich Normal User die atei kopieren, bzw wenn es ne dll ist, gerade die dll raussuchen, nur um die datenbank zu zerstören ?
so und wen du eine ee hast die eine datenbank ändert oder so ähnlich dann progge die exe doch einfach so das sie vorher prüft ob die daten schon geändert wurden sind

Und welcher Normaluser kommt denn auf die Idee sich ne dll zu kopieren geshwiege denn sie noch einmal zu benutzen...

Naja ich kann dein vorhaben icht ganz nachvollziehen.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#18

Re: Virtuelles Laufwerk oder Datei verteckt anlegen und star

  Alt 19. Mai 2006, 01:46
soll ich Dir neue Tastatur schicken ? 8)
Gruß
Hansa
  Mit Zitat antworten Zitat
jus

Registriert seit: 22. Jan 2005
344 Beiträge
 
Delphi 2007 Professional
 
#19

Re: Virtuelles Laufwerk oder Datei verteckt anlegen und star

  Alt 19. Mai 2006, 02:13
Zitat von Hansa:
soll ich Dir neue Tastatur schicken ? 8)
@Hansa
Da mache ich mit. Ich zahl die Hälfte der Versandkosten.

P.S.: Ich muss zugeben, ich habe natürlich auch Menge Tippfehler. Entschuldige Real_Thunder! Ich konnte es mir einfach nicht verkneifen. Also bitte nicht bös sein.
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#20

Re: Virtuelles Laufwerk oder Datei verteckt anlegen und star

  Alt 19. Mai 2006, 06:58
Zitat von SirThornberry:
@jim_raynor: Es geht nicht darum zu verhindern das eine Datei merhfach gleichzeitig läuft sondern darum sicherzustellen das ein Programm nur ein einziges mal ausgeführt wird und dann nie wieder.
Na dann hilft doch aller Schutz nicht. Das einzigst wirksame wäre, dies in der Datenbank zu speichern, dass diese bereits konvertiert ist. Ist der einzigst sichere Weg ... Alles andere wird vermutlich früher oder später zu Problemen führen, da es irgendjemand garantiert schafft, das Programm zwei mal laufen zu lassen ...
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 12:56 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