AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Keygen mit MD5 um Serial zu generieren !
Thema durchsuchen
Ansicht
Themen-Optionen

Keygen mit MD5 um Serial zu generieren !

Ein Thema von Delphiturbo · begonnen am 17. Apr 2008 · letzter Beitrag vom 23. Apr 2008
Antwort Antwort
Seite 3 von 5     123 45      
blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#21

Re: Keygen mit MD5 um Serial zu generieren !

  Alt 17. Apr 2008, 15:24
Zitat von Delphiturbo:
Ich muss 3 Sachen haben : Key, Benutzername, Serial !
Was ist der Unterschied zwischen Key und Serial? Was willst du überhaupt machen? Willst du, dass der eingegebene Benutzername sich im Key/Serial wiederspiegelt?

Zitat von Nuclear-Ping:
Warum arbeitest du auch auf Stringebene, statt auf Binärebene?
Lol, soll der Benutzer jetzt schon einen Binärcode eingeben?

Wenn ich mal einen Vorschlag für ein "einfacheres" System für nicht so erfahrenere Delphi-Benutzer machen darf:

(Code vereinfacht zum Lernen)

Delphi-Quellcode:
function md5(input: string): string;
begin
  result := md5Print(md5String(input));
end;

function mein_serialgenerator(benutzername: string): string;
var
  mein_md5, mein_prekey, mein_serialkey: string;
const
  // Mögliche Sicherheitslücke: mein_seed kann man aus der EXE herauslesen. Aber ich will es ja einfach halten
  mein_seed := 'ABCD-Produkt-Produktversion-Edition';
begin
  // Dein Benutzername ist jetzt als MD5 festgehalten
  mein_md5 := md5(benutzername);

  // Damit jetzt nicht jeder daran herumspielt und einen eigenen md5 generiert, legst du einen Seed dazu und machst nochmal md5
  mein_prekey := md5(mein_seed + mein_md5);

  // Nun hast du aber 32 Zeichen. Tu das deinen Anwendern bitte nicht an.
  // Nimm die ersten 8 Zeichen meinetwegen. Das ist jetzt dein Serialkey, der aus dem Benutzernamen abgeleitet ist
  mein_serialkey := copy(mein_prekey, 0, 8);

  result := mein_serialkey;
end;

// Kontrolle der Benutzereingabe
function key_gueltig(eigegebener_benutzername, eingegebener_serialkey): boolean;
begin
  if LowerCase(mein_serialgenerator(eigegebener_benutzername)) <> LowerCase(eingegebener_serialkey) then
  begin
    result := false;
  end
  else
  begin
    result := true;
  end;
end;
Nicht sonderlich sicher. Aber akzeptabel. Gegen Disassembler ist das Pr0g halt nicht sicher.

PS: Überleg dir, ob du die Hardware des Benutzers miteinfließen lassen willst. Dann wäre Zwangsaktivierung etc. notwendig, was das Ganze ziemlich erschwert. Ist deine Software wirtschaftlich so entscheidend?

Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat
Delphiturbo
(Gast)

n/a Beiträge
 
#22

Re: Keygen mit MD5 um Serial zu generieren !

  Alt 17. Apr 2008, 15:39
Zitat von blackdrake:
Was ist der Unterschied zwischen Key und Serial?
Key brauche um Serial (Passwort) in Keygen zu generieren
Serial : Passwort
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#23

Re: Keygen mit MD5 um Serial zu generieren !

  Alt 17. Apr 2008, 15:42
Dann in der Art?

Key := mein_serialgenerator(Serial); Ich blick zwar nicht ganz durch, wie dein Sicherheitscheck ablaufen soll, aber ich hoffe, dass du mit meinem MD5-basierenden Keygen-System etwas anfangen kannst.

Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#24

Re: Keygen mit MD5 um Serial zu generieren !

  Alt 17. Apr 2008, 15:45
Zitat von blackdrake:
Lol, soll der Benutzer jetzt schon einen Binärcode eingeben?
Was hat das damit zu tun?
Stringebene ist, die bereits erfolgte Ausgabe von Werten miteinander zu verketten / zu verarbeiten, wie es hier halt versucht wird, an Hand eines Hashs aus verschiedenen Werten eine Serial zu bilden.

Binärebene wäre, die Bits (oder wenigstens die Bytes) der vorhandenen Werte (Name, CPU, LAN, ...) miteinander zu verknüpfen, damit am Ende wieder eine brauchbare 32bit-Zahl (je nach Anspruch) rauskommt, wovon man dann eine Ausgabe erstellt.
  Mit Zitat antworten Zitat
Delphiturbo
(Gast)

n/a Beiträge
 
#25

Re: Keygen mit MD5 um Serial zu generieren !

  Alt 17. Apr 2008, 19:36
Zitat von blackdrake:
Dann in der Art?

Key := mein_serialgenerator(Serial); blackdrake
also wenn ich den Code verwende :
key.text:= mein_serialgenerator(mein_serialkey); Ich bekomme ja zwar ein String von 8 Zeichen : fe563e0d
aber was ist das ?!
Was ist dann mit Benutzername und Passwort ?

Ich verstehe nicht genau, wie ich den Benutzername, Passwort eingebe

Wie kann das Programm die Serial und Benutzername überprüfen ?
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#26

Re: Keygen mit MD5 um Serial zu generieren !

  Alt 17. Apr 2008, 19:39
Diese 8 Bytes sind die ersten 8 Byte von md5(Seed + md5(benutzername)). Siehe meinen ausführlich beschriebenen Code.

Als Benutzername kannst du auch ein Passwort einsetzen.

Und bei Benutzereingabe (Softwarefreischaltung) prüfst du mit key_gueltig()

oder eben direkt mit

if (md5(Seed + md5(passwort)) = benutzereingabe) then ...
Daniel Marschall
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#27

Re: Keygen mit MD5 um Serial zu generieren !

  Alt 18. Apr 2008, 00:04
Wobei die Benutzereingabe auch knifflig sein kann. Man glaubt nicht, wie viele Leute Sachen wie Oh/Null, Eins/ell/Ih etc. nicht auseinander halten können. Wir sind irgendwann dazu übergegangen solche Zeichen auf jeweils ein erlaubtes pro "Verwechselset" zu reduzieren und dann in der Eingaberoutine die anderen stillschweigend direkt zu ersetzen vor der Keyprüfung... Der Support hat es uns wirklich sehr gedankt
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#28

Re: Keygen mit MD5 um Serial zu generieren !

  Alt 18. Apr 2008, 06:15
Zitat von OldGrumpy:
Wobei die Benutzereingabe auch knifflig sein kann. Man glaubt nicht, wie viele Leute Sachen wie Oh/Null, Eins/ell/Ih etc. nicht auseinander halten können. Wir sind irgendwann dazu übergegangen solche Zeichen auf jeweils ein erlaubtes pro "Verwechselset" zu reduzieren und dann in der Eingaberoutine die anderen stillschweigend direkt zu ersetzen vor der Keyprüfung... Der Support hat es uns wirklich sehr gedankt
Eins <> L war bisher bei uns nicht das Problem, da alle Buchstaben direkt nach groß umgewandelt werden bei der Eingabe. Aber das mit Oh <> Null kommt in der Tat auch bei uns häufig vor. Gute Idee das mit der stillschweigenden Ersetzung, werd ich glaube auch mal einbauen.
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#29

Re: Keygen mit MD5 um Serial zu generieren !

  Alt 18. Apr 2008, 07:14
Tja, bei uns gabs da auch nur Grossbuchstaben, aber manche Leute lasen die Eins trotzdem als ell Sogar Zett/Zwei und Ess/Fünf war für manche ein Problem Allerdings muss ich dazu sagen, dass diese Sachen teilweise auch dem miesen Druck der Key-Aufkleber geschuldet waren, manche Distributionspartner sparten echt am total falschen Ende Wobei man vom Standarduser aber eh keinen Denkprozess bei der Eingabe erwarten darf. Der nervt dann einfach den Support mit "geht nicht!" Für die Härtefälle unter den Kunden ohne Scanner usw. haben wir dann für den Support ein Tool gebaut das aus der Key-Datenbank mögliche Treffer rausfischt. *g*
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
Delphiturbo
(Gast)

n/a Beiträge
 
#30

Re: Keygen mit MD5 um Serial zu generieren !

  Alt 18. Apr 2008, 19:16
Zitat von blackdrake:
Diese 8 Bytes sind die ersten 8 Byte von md5(Seed + md5(benutzername)). Siehe meinen ausführlich beschriebenen Code.

Als Benutzername kannst du auch ein Passwort einsetzen.

Und bei Benutzereingabe (Softwarefreischaltung) prüfst du mit key_gueltig()

oder eben direkt mit

if (md5(Seed + md5(passwort)) = benutzereingabe) then ...
Woher kommen seed und benutzereingabe
oder meinst du mein_seed ?

Noch einmal
wenn ich so mache :
Delphi-Quellcode:
Edit3.text := md5Print(md5String(Edit1.Text));
// in Feld Edit1 habe ich "10" eingegeben
dann bekomme ich diese 32 String : d3d9446802a44259755d38e6d163e820

wie kann ich nun mit einem Code mit dem erzeugten String wieder meinen Wert "10" erhalten ?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


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:34 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