AGB  ·  Datenschutz  ·  Impressum  







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

Hashproblem

Ein Thema von freak4fun · begonnen am 14. Dez 2004 · letzter Beitrag vom 14. Dez 2004
Antwort Antwort
Seite 2 von 2     12   
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#11

Re: Hashproblem

  Alt 14. Dez 2004, 15:28
Die Funktion MD5File(N: string) erzeugt blöderweise keine Exception, wenn die Datei nicht
geöffnet werden konnte und liefert dann immer den Hashwert eines Leerstrings zurück.
Deshalb:
Delphi-Quellcode:
function MD5File(N: string): MD5Digest;
var
   FileHandle: THandle;
   MapHandle: THandle;
   ViewPointer: pointer;
   Context: MD5Context;
begin
   MD5Init(Context);
   FileHandle := CreateFile(pChar(N), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE,
      nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0);
   if FileHandle <> INVALID_HANDLE_VALUE then
      raise EReadError.CreateFmt('Can''t open file <%s>', [N]);
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#12

Re: Hashproblem

  Alt 14. Dez 2004, 15:29
du kannst doch wenn du den Key hast jederzeit wieder den hashwert dazu ermitteln, und die Beiden vergleichen.

Das kannst du in einer Datenbank (oder sonstwie) speichern, oder halt zur Laufzeit immerwieder ermitteln...
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

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

Re: Hashproblem

  Alt 14. Dez 2004, 15:30
Hi,

der HashWert ist immer einmalig. "Hallo" ergibt einen anderen wert wie "hallo". Es kommt also auch auf Groß/Kleinschreibung an.
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#14

Re: Hashproblem

  Alt 14. Dez 2004, 15:34
Hm...
ich schicke Name und Key an die H.dll und will ein richtig oder falsch zurückbekommen. Das heisst auf deutsch das es Sinnlos ist. Weil dan irgendein Cracker meine H.dll erstzt und dann ist alles hin. Aber irgendwie muss ich doch nen Schutz erreichen?!

mfg
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#15

Re: Hashproblem

  Alt 14. Dez 2004, 16:06
Äehm...


Einen gewissen Schutz erreichst du nur, wenn du beim Programmstart jedes mal prüfst, ob dein programm noch auf dem Rechner Läuft, auf dem du es installiert/registriert hast.

Eine 100% Schutz gibte es nicht. Aber man kann allen Kiddies und Noobs das Leben schon schwer machen, indem du dir solche schweinereien ausdenkst. Die Geschichte mit dem Hash ist ne feine Sache, wenn man Passwörter oder sowas "verschlüsselt" speichern will.

Die Geschichte Mit der DLL würde ich kippen... Braucht nur jemand ne DLL hinstellen, die immer - was auch kommt - True ausgibt und fertig...

Delphi-Quellcode:
  function sowiso(Bla, Blaa, Blaaa: irgendwas):Boolean;
  begin
    result:=true;
  end;
du könntest einen Key (einen 32 Stelligen Hash) in der Registry ablegen, der den Computernamen (schlechtes Beispiel - irgendwas halt) enthält. Wenn noch kein Eintrag existiert, wird der CD-Key (aufbewahren!!) abgefragt, der liesst etwas persönliches aus dem Computer aus, erstellt einen Hash davon und speichert den weg. Jedesmal wenn dein Programm startet, könnte dieser hash nochmal ermittelt werden und mit dem alten aus der registry verglichen.

In die registry darfst du natürlich nur einmal schreiben. Nämlich dann, wenn der CD-Key richtig eingegeben wurde.

Wenn nun der Hash nicht übereinstimmt kannst du A) den user auffordern einen neuen Key anzufordern (Gültigkeit festlegen) oder schlicht nochmal neu eingeben...

Aber das ist nur eine Möglichkeit. Deiner Phantasie sind da keine grenzen gesetzt. Und wie gesagt 100% sicher gibts nicht und 99% nur mit enormen Aufwand.


MfG

Tonic
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#16

Re: Hashproblem

  Alt 14. Dez 2004, 16:11
Dankeschön.

Also ich hab ja das mit der .dll auch gemacht weil ioch mal was mit .dll's machen wollte. Ich würde ja auch nicht nur flase oder true hin und herschicken.

### Ich überleg mir was feines. ###

mfg
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 19:26 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