Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Sichere Compiler Einstellungen?! (https://www.delphipraxis.net/99724-sichere-compiler-einstellungen.html)

-TheCoke- 16. Sep 2007 19:54


Sichere Compiler Einstellungen?!
 
Huhu!

Ich wollte mal Fragen ob es irgendwelche Einstellungen gibt die man ändern kann, um sein Programm änderungs sicher zu machen.


Wenn ich meine *.exe mit einem Res Hacker aufmache, kann ich unter "RCData" -> "TFORM1" einfach beliebige Einstellungen ändern.

Ich sehe dann folgendes:

Code:
object Form1: TForm1
  Left = 353
  Top = 181
  VertScrollBar.Style = ssFlat
  VertScrollBar.Visible = False
  BorderIcons = [biSystemMenu]
  BorderStyle = bsDialog
  Caption = 'Test'
  ......
Ich hab mal ein bisschen unter Projekt -> Optionen -> Compiler rumgespielt. Hat aber nicht wirklich was gebracht.

Ich benutzte übrigens Delphi 7.

Gruß,
Coke

SirThornberry 16. Sep 2007 20:10

Re: Sichere Compiler Einstellungen?!
 
eine Einstellung kenne ich nicht. Aber wenn dir so viel daran liegt erstelle eine Checksumme für die Ressource und schaue bei Programmstart ob diese noch stimmt.

Bernhard Geyer 16. Sep 2007 21:43

Re: Sichere Compiler Einstellungen?!
 
Sicheren Schutz gibt es unter Windows nicht!
Mann kann es nur möglichst schwierig machen das etwas geändert wird. z.B. Checksumme anlegen oder Anwendung digital signieren und dann beim Programmstart und während des Programmablaufs durch unterschiedliche Funktionen diesen Schutz checken so das ein Angreifer an vielen Codestellen diesen "Fixen" muß damit die Überprüfung trotzdem erfolgreich ist.

-TheCoke- 16. Sep 2007 21:58

Re: Sichere Compiler Einstellungen?!
 
Wie kann ich denn eine Checksumme erstellen und diese dann beim Programmstart prüfen?

Namenloser 16. Sep 2007 22:04

Re: Sichere Compiler Einstellungen?!
 
Hallo,
ich weiß nicht, ob das funktioniert, und 100%ig sicher ist ds sicher auch nicht, aber könnte man nicht das Datum des letzten Kompilierens auslesen und mit dem Datum der letzten Dateiänderung vergleichen? Als erster Schutz könnte das doch ausreichen. Zum Auslesen des Kompilierdatums gibt es in der Codelib glaube ich sogar einen Code.

Pfoto 16. Sep 2007 22:09

Re: Sichere Compiler Einstellungen?!
 
Zitat:

Zitat von -TheCoke-
Wie kann ich denn eine Checksumme erstellen und diese dann beim Programmstart prüfen?

Hallo!

Mit MD5 könntest du das prüfen, hier ein Suchergebnis auf auf torry.net:
http://www.torry.net/quicksearchd.ph...=md5&Title=Yes
Vielleicht (oder sicherlich) gibt es dort auch noch mehr zum Thema "checksum"

Gruß
Pfoto

blackdrake 17. Sep 2007 10:34

Re: Sichere Compiler Einstellungen?!
 
Hallo.

Primär kann ich dir den Tipp geben, deine EXE nach jedem Kompilieren zu komprimieren. Dadurch wird sie kleiner und man kann mit Ressourcen- und Hex-Editoren die Werte nicht direkt einsehen. Ist aber kein absolut sicherer, da man die Kompression auch wieder rückgängig machen könnte.

Eine MD5-Prüfsumme ist ein guter Ansatz zur Prüfsummenbildung. Aber bedenke, dass die Prüfsumme sich bei jeder Kompilierung ändern kann. Deswegen ist es unmöglich, die aktuelle Prüfsumme in die EXE einzubringen (außer durch direktes Anhängen an die EXE). Folglich bedeutet das, dass du die Prüfsumme in eine separate Datei lagern musst. Damit nieman die Prüfsumme fälscht, sollte sie einen Salt enthalten:

Delphi-Quellcode:
Prüfsumme = MD5(GeheimerWert + MeineEXEDatei)
Ist ein schwieriges Thema. Es gibt keine reale Sicherheit bei Digitaltechnik (siehe Bernhard Geyer).

Gruß
blackdrake

Luckie 17. Sep 2007 10:37

Re: Sichere Compiler Einstellungen?!
 
Zitat:

Zitat von blackdrake
Primär kann ich dir den Tipp geben, deine EXE nach jedem Kompilieren zu komprimieren. Dadurch wird sie kleiner und man kann mit Ressourcen- und Hex-Editoren die Werte nicht direkt einsehen. Ist aber kein absolut sicherer, da man die Kompression auch wieder rückgängig machen könnte.

Mit den letzten Satz hast du schon gleich wieder deutlich gemacht, dass das komprimieren der Exe nicht hilft. ;)

blackdrake 17. Sep 2007 11:17

Re: Sichere Compiler Einstellungen?!
 
Hallo.

Ich habe nicht gesagt, dass Komprimieren sicher sei. Ich sagte lediglich, dass es das einfachste ist und bereits Disassembler/Hex/Ressource-Editoren abwehrt. Es ist natürlich eine Sache, wie geheim der Programmcode / die Ressourcen sein sollten. Bei Programm mit einem sehr geheimen Code / Ressourcen genügt eine Komprimierung alleine nicht.

Die Fragstellung ist eigentlich, ob -TheCoke-

a) sein Programm vor Angriffen mit "einfachen" Methoden schützen möchte (-> Komprimierung)
b) Ressourcen-Extrahieren (wg. Copyright) verhindern möchte
c) Geheime Algorithmen vor Disassemblern schützen möchte
d) Programmcode/Ressourcen-Modifizierungen verhindern möchte (es bleibt hier noch zu unterscheiden, ob der Schutz stark oder schwach sein soll)

Gruß
blackdrake

-TheCoke- 17. Sep 2007 15:44

Re: Sichere Compiler Einstellungen?!
 
Huhu!

Hört sich ja schonmal gut an.

Gibt es da zum komprimieren ein Tool?


Mein Programm benutzt UDP Sockets. Ich möchter in erster Hinsicht verhindern, dass z.b. die IP oder der Port des Remote Hosts geändert werden können.
Wenn durch eine Kompriemurung schonmal die Editmöglichkeit mit einem Res Hacker wegfällt wäre das schon was.



Gruß,
Coke


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 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