AGB  ·  Datenschutz  ·  Impressum  







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

DEC: Selftest immer false

Ein Thema von Die Muhkuh · begonnen am 18. Jun 2004 · letzter Beitrag vom 18. Jun 2004
Antwort Antwort
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#1

DEC: Selftest immer false

  Alt 18. Jun 2004, 14:32
Hi,


Delphi-Quellcode:
with THash_MD5.Create(nil) do
      begin
        if SelfTest then
          lbSelfTest.Caption := 'Message Digest 5: OK'
        else
          lbSelfTest.Caption := 'Message Digest 5: Fehler beim initalisieren';
      end;
mit dieser Procedure überpüfe ich den Seltest vom MD5. Aber es kommt immer Fehler beim initalisieren. Demnach ist der Selftest immer false. Das hab ich schon auf 3 PC probiert, auf allen das gleiche.

Warum ist der Selftest immer false? Mach ich was falsch?
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: DEC: Selftest immer false

  Alt 18. Jun 2004, 14:35
Hi,

eventuell ist deine Installation vom DEC defekt oder sie enthält einen Implementierungsfehler (alte Version?)

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#3

Re: DEC: Selftest immer false

  Alt 18. Jun 2004, 14:36
Eigentlich sollte es die neuste Version sein, aber ich schau nochmal bei Torry. (Hat ja immer die neuste oder??)
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#4

Re: DEC: Selftest immer false

  Alt 18. Jun 2004, 14:40
Weil du DEC in Delphi 7 nutzt.
Öffne die Unit DECUtil.pas, gehe zur initialization Sektion, kommentiere dort InitTestIsOk := ... aus und schreibe InitTestIsOk := True rein. Dann klappts auch wieder.

Der .SelfTest eines Algos. im DEC basiert auf ZWEI Tests. Einmal ein globaler Test der in DECUtil.initialization durchgeführt wird und einmal ein Test spezifisch im Algorithmus.

Nun, exakt dieser globale Selbsttest in DECutil ist die Ursache des Problemes. Bzw. genauer gesagt ist die Ursache die Änderung des integrierten Assemblers in Delphi 7. In allen Versionen von D3 bis D6 war der Inline Assembler immer identisch. In D7 wurde der anscheinend ausgetauscht. Da aber in DECutil.initialization eine Prüfsumme über den Code der CRC Checksum Routine gemacht wird, und diese eben vom Assembler abhängig ist, wird in D7 die Variable InitTestIsOk auf FALSE stehen. Somit müssen ALLE .SelfTest's fehlschlagen.

Mit InitTestIsOk := True; wird also dieser globale Selbsttest deaktiviert.

Hintergrund WAR der Gedanke das ein Selbsttest nur dann Sinn macht wenn man auch die Funktionen und Daten die für diesen Test notwendig sind, einer Prüfung unterzieht. Ein Angreifer könnte ja auch neben dem Patchen der Algorithmen zu seinem Gunsten die Sebsttests manipulieren.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#5

Re: DEC: Selftest immer false

  Alt 18. Jun 2004, 14:45
Solltest du NICHT Delphi 7 benutzen, dann gibt es nur eine Erklärung dafür das InitTestIsOk == FALSE ist. Denn dann heist dies das die CRC Routine sammt Lookup Tabelle geändert wurde, sie wurde manipuliert.
Dafür gäbe es EINEN ganz gewichtigen Grund !! nämlich in dieser Lookuptable steht "kodiert" mein Copyright drinnen. Jede binäre Distributation die das DEC benutzt enthält in ihrem HEX den String "Portion Copyright by Hagen Reddmann". Dadurch kann ich relativ leicht überprüfen ob eine Anwendung mein DEC benutzt hat.
Damit aber für den Programmierer dies nicht zu offensichtlich im Quelltext erscheint habe ich diese in die Lokup Tabelle kodiert

Gruß Hagen

PS: sollte der Fehler erst zur Laufzeit deiner Anwendung auftreten, eben nicht mit D7 compiliert, dann empfehle ich dir deine EXE nicht zu patchen. Wird nämlich die EXE nach der Compiltation so gepatcht das MEIN Copyright raus ist, wird der Selbsttest fehlschlagen
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#6

Re: DEC: Selftest immer false

  Alt 18. Jun 2004, 14:47
Ok, thx. So gehts.


Wird der Selftest jetzt auch korrekt ausgeführt? Oder ist der immer True? Wann könnte er den False sein?
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#7

Re: DEC: Selftest immer false

  Alt 18. Jun 2004, 14:51
Ähm, siehe oben

Unter D7 wird also der 1. Teil des Selbsttests deaktiviert. Grundsätzlich dient er zwar dazu die CRC Routinen abzusichern, aber praktisch gesehen hält das keinen cleveren Hacker auf. So gesehen dient dieser Selbsttest dazu das ICH Mails bekomme von Programmieren die mein Copyright aus MEINEN Sourcen entfernen möchten. Diese "cleveren" Leute melden sich dann freiwillig bei MIR weil nunmehr die Selbsttest fehlschlagen.

Für die eigentlichen Selbsttest der Algos. hat es also nur marginale Sicherheits-Konsequenzen. Der Test dient also dazu mein Copyright abzusichern und als Falle für miese Programmierer :=)

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#8

Re: DEC: Selftest immer false

  Alt 18. Jun 2004, 14:55
Uhi^^ ganz schön schlau!
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#9

Re: DEC: Selftest immer false

  Alt 18. Jun 2004, 14:57
Nungut nutzt du Delphi 7 ???? ist meine Frage

Gruß Hagen

PS: bevor sich nun alle Welt daran macht mein Copyricht im Source zu suchen und weg-zu-rationalisieren, ich habe noch mehr solcher Sicherheitsmerkmale in meine Sourcen integriert. Diese können nicht so ohne weiteres entfernt werden ohne das die Algos. zrstört werden !!
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#10

Re: DEC: Selftest immer false

  Alt 18. Jun 2004, 15:01
Ja nutze ich

Zitat:
PS: bevor sich nun alle Welt daran macht mein Copyricht im Source zu suchen und weg-zu-rationalisieren, ich habe noch mehr solcher Sicherheitsmerkmale in meine Sourcen integriert. Diese können nicht so ohne weiteres entfernt werden ohne das die Algos. zrstört werden !!
Ich glaub ich finger an deinen Sourcen lieber net rum sonst gehts nachher nicht mehr
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:27 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