Programm Freischalt Funktion?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Programie
Beiträge: 1280
Registriert: 06.08.2005 22:56
Computerausstattung: https://www.sysprofile.de/id160800
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von Programie »

Einfache lösung für Seriennummern:

Seriennummer in MD5 FingerPrint umwandeln
MD5-Code in das Programm schreiben
BildBildBildBild
Benutzeravatar
Xenos
Beiträge: 114
Registriert: 24.01.2006 20:33
Wohnort: Dresden(hin und wieder)
Kontaktdaten:

Beitrag von Xenos »

@PBZecke: Genau das selbe mein ich auch. Deshalb spiele ich keine Onlinespiele, da kann WOW noch so toll sein.

Nochmal zum eigentlichen Thema:
Ob ein Programm freigeschaltet ist oder nicht, lässt sich ja in einem Bit speichern. Ich glaube nicht, dass irgendjemand genau dieses eine Bit je finden wird (vom Programmierer mal abgesehen) immerhin hat ein kleineres Programm schon ein paar KB und wenn da noch viele Quelldaten (Bilder, Audiodateien... hinzukommen, kann es schon mal in die MBs gehen. und irgendwo da drinne steht, dieses eine Bit...

Man könnte es ja auch vomProgramm abhängig machen, wo dieses Bit steht.

Dazu ein Beispiel: In einer Datei stht die Bitfolge
00010111010101000111110101111010101001101010...

und das Programm hat beim ersten Durchlauf für sich die Seriennummer 15 generiert und das 15. Bit auf 0 gesetzt. Zusätzlich werden auch drei andere Bits zufällig manipuliert.
Die neue Bitfolge wäre etwa
10011110010101000111110101111010101001101010...

wird das Programm freigeschaltet wird das 15. bit auf eins gesetzt und wieder drei bits zufällig manipuliert...

Noch schwerer wir es dahinter zu steigen wenn
a) hohe Bitzahlen verwentet werden (wer zählt schon 9043 Bit ab?)
b) die Bits durch ein kompliziertes system durchnummeriert werden (rückwärts, oder erst alle geraden, dann alle ungerade...)
c) keine einfache Reihenfolge, sondern eine n-dimensionale Matrix verwendet wird. Die Serial könnte dann in segmente untergliedert sein
c2) die Segmente werden zufällig getrennt also z.B.
103.452.76 entspricht x=10, y=34527, z=6 sowas in der Art
d) Buchstaben bekommen zahlwerte: a=10, b=11... besonders böse: einige zahlwerte werden doppelt belegt 1=1 und g=1 oder Zahlen dienen der Irreführung z.B. "1" bedeutet 28
e) nicht alles was in der Serial steht muss bedeutend sein => siehe dummy data

das mal so nebenbei...
Die Suche nach dem einen Bit kann wirklich zur Nadel im Heuhaufen werden... :allright:

PS: Was mir gerade noch einfällt: man könnte auch mehrere verteilte Bits benutzen und nur bei einer bestimmten rekombination wird das Programm auch wirklich freigeschaltet. Man sucht also nicht mehr ein einziges Bit, sondern eine bestimmte Kombination aus vielleicht 17 Bit in einer sich ständig andernden Masse aus weis ich wie vielen KB!
gô ni itte wa gô ni shitagae.
(Wenn du in ein Dorf kommst, richte dich nach seinen Gepflogenheiten - jap. Sprichwort.)
Antworten