AGB  ·  Datenschutz  ·  Impressum  







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

DFM-Dateien verschlüsseln?

Ein Thema von a.def · begonnen am 30. Apr 2017 · letzter Beitrag vom 1. Mai 2017
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
a.def
(Gast)

n/a Beiträge
 
#1

DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 19:42
Es nervt mich ein bisschen, dass man mit einem Resourcen-Programm die nackten DFM-Dateien eines Delphi-Programms sehen kann.
Ist es irgendwie möglich diese Dateien zu verschlüsseln oder zu verfremden?
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 19:45
hm... was genau kann man aus der dfm auslesen, was man nicht auch in dem Form anschauen kann wenn man die Anwendung gestartet hat?
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#3

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 19:46
Das Problem ist eigentlich weniger das Auslesen. Eher ist es u.a., dass man alles verändern kann.
Es soll Leute geben die verändern das Formular und Copyright und verticken das Programm anderweitig unter neuem Name/Logo weiter.
  Mit Zitat antworten Zitat
ralfstocker
(Gast)

n/a Beiträge
 
#4

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 19:53
Ich habe ein Programm, das verschlüsselt alle Resourcen in der EXE. Beim EXE-Start entschlüsselt die EXE ihre eigenen Resourcen wieder. Ist leider Firmen-Copyright. Keine PAS. Kann aber leicht nachprogrogammiert werden.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 19:58
Es sind nicht die nackten DFM drin.
DFMs gibt es als Text (so wird die im Delphi angezeigt und aktuell auch in der Datei gespeichert, aber in der EXE wird die binäre Version gespeichert -> TReader/TWriter)
Delphi-Ressource-Editoren übersetzen das natürlich.

Man kann die DFM auch selber speichern und über einen TReader manuell die DFM laden, nachdem man sie vorher z.B. entschlüsselt hat und sie vorher verschlüsselt als RC_DATA in die EXE aufgenommen hat.

Aber das ist auch egal, denn ich kann zur Laufzeit das sichtbare Formular auslesen und mit daraus eine neue DFM generieren. bzw. die gewünschten Werte aus der Form auslesen, wenn ich da ran kommen will.
$2B or not $2B
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#6

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 19:59
Ich könnte mir gut vorstellen, dass solch eine Exe bei vielen Virenprogrammen anschlägt.
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 20:01
Das Problem ist eigentlich weniger das Auslesen. Eher ist es u.a., dass man alles verändern kann.
Es soll Leute geben die verändern das Formular und Copyright und verticken das Programm anderweitig unter neuem Name/Logo weiter.
dann schreib diese Informationen halt nicht in das dfm, sondern setze die Information zur Laufzeit. Das ganze auch nicht im Klartext im Pas sondern verschlüsselt. Dazu noch die exe digital signieren und während der Laufzeit des Programms mehrfach unregelmäßig prüfen ob die exe noch das korrekte Zertifikat hat und ob das noch gültig ist.
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#8

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 20:06
Es ist nicht selbstverständlich, dass man Summe XYZ für ein Zertifikat ausgibt. Viele, auch ich, haben für solche Späte kein Geld.
Außerdem sind viele, ich ebenfalls eingeschlossen, keine Delphi-Profis und haben von Verschlüsselung Null Ahnung
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 20:13
Du kannst von den DFMs einen HASH generieren (AfterBuild), diesen nach dem Compileren in der EXE/Ressources speichern und bei Programmstart entsprechend reagieren, wenn jemand die DFM manipuliert.
Alternativ erstellst du den Copyright-Hinweis eben erst zur Laufzeit.

Die Zertifikate machen das auch nicht viel anders. (außer dass man zusätzlich das Zertifikat noch online verifizieren kann)
$2B or not $2B
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#10

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 21:37
Zitat:
Du kannst von den DFMs einen HASH generieren (AfterBuild), diesen nach dem Compileren in der EXE/Ressources speichern und bei Programmstart entsprechend reagieren, wenn jemand die DFM manipuliert.
Interessant. Kannst du mir Quellen nennen wo ich mehr darüber lernen kann?

Zitat:
Alternativ erstellst du den Copyright-Hinweis eben erst zur Laufzeit.
Was genau meinst du damit? Mein Copyright-Text, Programmtitel usw. wird eh zur Laufzeit erstellt.

Edit
ein kleiner Test lädt zwar meine DFM-Resource aber ich bekomme nur 2 Zeilen ausgegeben und die noch mit falschen Zeichen:
Delphi-Quellcode:
// DFM-Resource laden
 function LoadTextFromResourceByName(ResourceName: string): string;
 var
  ResourceStream: TResourceStream;
  sl: TStringList;
 begin
  if (FindResource(hInstance, PChar(ResourceName), RT_RCDATA) <> 0) then
   begin
    ResourceStream := TResourceStream.Create(hInstance, ResourceName, RT_RCDATA);

    try
     sl := TStringList.Create;

     try
      sl.LoadFromStream(ResourceStream);
      Result := sl.Text;
     finally
      sl.Free;
     end;
    finally
     ResourceStream.Free;
    end;
   end;
 end;

 showmessage( LoadTextFromResourceByName('TForm1') );

Geändert von a.def (30. Apr 2017 um 22:47 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 17:03 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