AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wie kommen Buchstaben in eine Seriennummer?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kommen Buchstaben in eine Seriennummer?

Ein Thema von TheMiller · begonnen am 17. Dez 2009 · letzter Beitrag vom 28. Dez 2009
Antwort Antwort
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#1

Re: Wie kommen Buchstaben in eine Seriennummer?

  Alt 18. Dez 2009, 11:37
Hm... Naja, angenommen du setzt den Vorschlag um, den der Engel gebracht hat. Dann sähe das in Delphi in etwa so aus:

key := md5str[1] + md5str[3] + md5str[7]; //usw... Ich weiß jetzt nicht, wie das im Disassembler aussähe, aber ich könnte mir vorstellen, dass man so relativ schnell erkennt, auf welche Elemente zugegriffen wird.

Daher war meine Idee, Primzahlen als Zugriff auf die einzelnen Elemente zu nutzen. Sagen wir, dein Key soll 6 Stellen haben, dann könnte eine Schleife so aussehen:

Delphi-Quellcode:
var
prime: integer;
idx,n: integer;

//[...]

key := '';
idx := 3;

for i := 0 to 5 do
begin
 repeat
  idx := idx + 2; //nur ungerade Zahlen
 until isPrimzahl(idx);
 key := key + md5str[idx];
end;
Die Funktion isPrimzahl prüft, ob eine Zahl eine Primzahl ist. Ist sie das, so wird sie als Index verwendet. Ist sie es nicht, wird die nächste ungerade Zahl getestet. Zum Test auf Primzahl fällt mir jetzt Miller-Rabin ein. Hier gibst was gut lesbares und lesenswertes dazu [PDF].

Und ich denke, für den Miller-Rabin-Test wird sich bestimmt eine Implementation in Pascal finden lassen.

Das Ziel ist eigentlich, dem Hacker oder RE die Arbeit möglichst aufwändig zu gestalten, indem man möglichst viele Berechnungen mit möglichst vielen Sprüngen (Bedingungen, Schleifen) einbaut. Die Script Kiddies werden so schnell aufgeben, da ihnen dass dann zu mühsam wird. Es soll aber auch exemplare geben, die durch sowas erst richtig aufblühen.

Ich hoffe, meine geistigen Ergüsse waren etwas verständlich.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  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 15:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz