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 2 von 4     12 34      
nahpets
(Gast)

n/a Beiträge
 
#11

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 21:59
Um meine Programme vor unerwünschter Änderung zu schützen, hab' ich mir 'nen AfterCompile-Experten gebaut.

Nach dem Kompilieren errechnet der die MD5-Checksumme der Exe und schreibt diese in die EXE hinein.

Meine Programme erstellen beim Start die MD5-Checksumme der Exe und vergleichen diese mit der in die EXE geschriebenen.

Gibt es eine Abweichung, beendet sie sich mit 'ner entsprechenden Fehlermeldung.
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#12

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 22:01
Ihr habt alle so tolle Lösungen und ich habe Null Ahnung davon -.-'

Ich gehe stark davon aus, dass du nicht preisgibst wie das funktioniert oder?
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#13

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 22:48
Es gibt hier irgendwo ein Tutorial, wie man 'nen Experten baut.

Zum Bilden einer MD5-Checksumme gibt es Komponenten und sicherlich hier im Forum und im www diverse Quelltexte.

Man muss das nur kombinieren und eine eigene Lösung finden.

Wenn alle die gleiche Lösung nutzen, gibt es sicherlich auch schnell jemanden, der diese Lösung umgehen kann.
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#14

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 22:51
MD5-Summe bilden und all das ist kein Problem.

Würde aber glaube ich eher meine Lösung verwenden. Nur schaffe ich es gerade nicht die DFM-Resource korrekt auszulesen.
Ich bekomme folgendes ausgelesen
TPF0TForm5Form5Left (mit ein paar speziellen, komischen Zeichen drin die hier aber gelöscht werden)

Code
Delphi-Quellcode:
 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(Form5.ClassName) );

Geändert von a.def (30. Apr 2017 um 22:54 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.021 Beiträge
 
Delphi 12 Athens
 
#15

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 22:55
ein kleiner Test lädt zwar meine DFM-Resource aber ich bekomme nur 2 Zeilen ausgegeben und die noch mit falschen Zeichen:
Wie schon erwähnt wurde, liegen die DFMs binär in der EXE. Man muss das also erst in Text umwandeln:

Delphi-Quellcode:
// DFM-Resource laden
function LoadTextFromResourceByName(ResourceName: string): string;
var
  ResourceStream: TResourceStream;
  StringStream: TStringStream;
begin
  if (FindResource(hInstance, PChar(ResourceName), RT_RCDATA) <> 0) then
  begin
    ResourceStream := TResourceStream.Create(hInstance, ResourceName,
      RT_RCDATA);
    try
      StringStream := TStringStream.Create;
      try
        ObjectBinaryToText(ResourceStream, StringStream);
        Result := StringStream.DataString;
      finally
        StringStream.Free;
      end;
    finally
      ResourceStream.Free;
    end;
  end;
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#16

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 22:56
Zitat:
ObjectBinaryToText
Das hatte ich eben sogar versucht, verflixt! Hatte wohl StringStream falsch deklariert und DataString nicht eingegeben gehabt
  Mit Zitat antworten Zitat
Poelser

Registriert seit: 21. Apr 2008
Ort: Europa
145 Beiträge
 
Delphi 10.4 Sydney
 
#17

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 23:16
Es gab doch mal in MadExcept eine Möglichkeit, die Exe beim Programmstart auf Änderungen zu überprüfen. Gibt's das da noch?
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#18

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 23:41
---

Geändert von a.def (30. Apr 2017 um 23:51 Uhr)
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
734 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 23:45
Zitat:
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
Zertifikate müssen nicht teuer sein und helfen dir zum Beispiel auch, wenn der proaktive Schutz einer AntivirSoftware bei einem deiner Programme anschlägt und du deshalb mit den Herstellern der AntiVirSoftware kommunizieren musst.
...und die vielen gelborangeroten Warnhinweise beim Setup und Updaten sind dann auch weg.
Michael Gasser
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#20

AW: DFM-Dateien verschlüsseln?

  Alt 30. Apr 2017, 23:51
Wenn Du den MD5-Wert in die Exe schreibst, musst Du natürlich beim Prüfen alles von der Exe nehmen, mit Ausnahme der MD5-Cbhecksumme.

Also:

Exe wird erstellt.
MD5 wird berechnet.
MD5 hinten an die Exe drangehangen.

Exe wird also 16 Byte größer.

MD5 prüfen:

MD5 zur Exe abzüglich der letzten 16 Byte ermitteln.

Übereinstimmung prüfen und entsprechend reagieren.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 13:09 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