Autor Beitrag
bruce185
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 283

winXP
D7 Ent
BeitragVerfasst: Mi 11.07.07 16:46 
Hallo,
ich habe mir einen Testversion geschrieben und nach eingabe des Key wird dieser Testversion zur Vollversion.
Jetzt möchte ich gerne, wenn man einen Namen im Edit1 eingibt, dass diese Generiert wird zu Zahlen, beispiel:
00000-00000-00000-00000-00000
und wenn ich bei der Testversion von mir den Namen und dieser Key eingebe, das diese dann erkennt.

Wie macht man sowas?

MfG
Arne K.
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
EE-Autor
Beiträge: 112


C# (VS 2008 Professional)
BeitragVerfasst: Mi 11.07.07 16:55 
Früher steckte dahinter ein einfacher Algorithmus, der viele Werte zusammen zu einem Key rechnete.

Dann verwendete man eine Zeit lang am PC konstante Werte, die sich jedoch von PC zu PC unterscheiden konnten.

Heutzutage sind reine Passwortabfragen meist an eine Onlineaktivierung gebunden. Denn sie Firmen haben erkannt, dass jeder Algorithmus für solche Lizenzschlüssel früher oder später geknackt werden kann (was übrigens bei der Online-Aktivierung nicht anders ist).

Grundsätzlich gilt dabei das Prinzip "Security through Obscurity": de.wikipedia.org/wik...ty_through_obscurity
Da ein Keyalgorithmus nur solange sicher ist, wie er nicht offiziell ist, wird dir auch kaum jemand eine direkte Implementierung sagen können. Die Frage ist eben, was du willst: SkriptKiddies hälst du mit einfachsten Algorithmen auf (es sei denn, die besorgen sich einen Keygen). "Echte" Cracker wirst du nie aufhalten.
Corpsman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228

KUbuntu 10.4
Lazarus
BeitragVerfasst: Mi 11.07.07 17:08 
Hi,

ich habe mal was gemacht das Tserial heist.

Das ist auf meiner HP unter Komponenten -> Serial

Da ich aber gerade meine HP auf so nem Dämlichen Pseudoserver zwischenlagern mus, weil der eigentliche Server grad ein Riesen problem hat kann ich dir nur leider keinen direkt Link senden. Must manuel über www.Corpsman.de.vu suchen ;)

_________________
--
Just Try it.
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Mi 11.07.07 18:02 
Corpsman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228

KUbuntu 10.4
Lazarus
BeitragVerfasst: Mi 11.07.07 21:06 
Genau das wollte ich vermeiden , der Link stimmt nämlich schon nicht mehr

corpsman.co.ohost.de...c=komponenten/serial

ist der der Funktioniert

_________________
--
Just Try it.
Nilan
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 29

Win VistaSP1

BeitragVerfasst: Mi 11.07.07 21:27 
Und, du kannst diese Nummern nicht knacken? oO

Entschuldigung eine Frage eines unwissenden Neugierigen :D
Gruß, Nilan ;)

_________________
Töte einen, so bist du ein Mörder - töte tausende, so bist du ein Held!
Töte einfach keinen :)
Arne K.
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
EE-Autor
Beiträge: 112


C# (VS 2008 Professional)
BeitragVerfasst: Mi 11.07.07 21:36 
Die Frage ist vor allem, wie diese Komponente das Konzept umsetzen soll?

Wie ruft man die Komponente auf? Im Sinne von:
ausblenden Quelltext
1:
if(serial.isValid())					

? Falls ja - Schenk es dir. Eine solche Abfrage kann ein Cracker in einer halben Sekunde noppen.

Meist wird Inline Assembler verwendet, der Teile des Programms erst zur Laufzeit anhand der Seriennummer entschlüsselt -> Ist die Nummer falsch, kommt Datenmüll raus, und das Programm stürtzt ab. Dazu kommen zahlreiche überall im Programm verstreute Aufrufe von Funktionen, die sicherstellen, dass nicht im Speicher rumgepfuscht wurde (Assertions) und die eben weitere Teile entschlüsseln, die der Angreifer alle ausfindig machen und noppen bzw. umgehen bzw. faken müsste.
Es ist keine triviale Sache, eine Seriennummer in sein Programm zu implementieren; ich wäre gespannt, wie diese Komponente das machen will? Ohne die Komponente direkt schlecht machen zu wollen - Ich wäre da sehr skeptisch.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 11.07.07 22:34 
Über Sinn und Unsinn eines Kopierschutzes:
www.michael-puff.de/...ierschutzCracken.php
Arne K.
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
EE-Autor
Beiträge: 112


C# (VS 2008 Professional)
BeitragVerfasst: Mi 11.07.07 23:28 
Ist doch genau das, was ich gesagt hatte? Oder beziehst du dich auf das Thema allgemein und nicht auf mich?

Eine detalierte Ausführung ist sonst auch noch: www.c-plusplus.de/fo...var-t-is-161865.html
Ein meiner Meinung nach sehr gelungener Artikel! Zwar in C++, aber wer C# versteht, wird auch damit klarkommen. Abgesehen davon, dass man bei Reverse Engineering ohnehin nicht um Assembler - und damit verbunden öfters auch C - herum kommt.
Corpsman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 228

KUbuntu 10.4
Lazarus
BeitragVerfasst: Do 12.07.07 08:35 
@Nilan

Ich kann den schlüssel selbst auch nicht knacken, da die Erstellerformel ja recht Kompliziert in der exe gespeichert wird und ich sie ja nicht kenne.

Ich habe die Komponente genau unter dem Aspeckt das ich sie selbst nicht knacken könnte entworfen.


ABER, wie einige hier schon bemerkt haben ist das natürlich kein 100%iger schutz, darum geht es meiner Meinung nach auch gar nicht.

Wenn jemand wirklich an dein Programm Rann geht dann macht er es platt ob du willst oder nicht ( siehe Proffesionelle Software von firmen wie (EA ... )).

Mit Serial, ist der Kreis derer die das Können aber schon mal deutlich kleiner. Zudem kommt das du natürlich keinen Support gibts ohne das der User die Serial angeben mus. Was bedeutet das du dann zumindest das schwarze schaf lokalisieren kannst.

Und meine Kombo macht es nun Möglich diese Serial in 3 Zeilen Code zu implementieren => der Aufwand bleibt minimal und ihr tut mehr wie nichts.

_________________
--
Just Try it.