Keygen in Pyhton
Hi Leuts,
hab mal ne frage:
Ist es möglich Keygens in Python zu programmieren??
Wie bekommt man das in ungefähr hin wenn man den Serial-Algorythmus hat??
Ich möchte keine genaue Anleitung haben, weil das illegal wäre
Ich möchte nur das ihr mir sagt ob man Keygens mit Python erstellen kann und wie es in etwa geht einen Algorythmus darzustellen!
Ist wirklich wichig!
Vielen Danke!
hab mal ne frage:
Ist es möglich Keygens in Python zu programmieren??
Wie bekommt man das in ungefähr hin wenn man den Serial-Algorythmus hat??
Ich möchte keine genaue Anleitung haben, weil das illegal wäre
Ich möchte nur das ihr mir sagt ob man Keygens mit Python erstellen kann und wie es in etwa geht einen Algorythmus darzustellen!
Ist wirklich wichig!
Vielen Danke!
mfg
Thomas :-)
Thomas :-)
Ja klar. Das ist in so ziemlich jeder Programmiersprache möglich, die mit Zahlen und Zeichen umgehen kann.Python Master 47 hat geschrieben:Ist es möglich Keygens in Python zu programmieren??
Man setzt ihn in Python um!?Wie bekommt man das in ungefähr hin wenn man den Serial-Algorythmus hat??
Na man setzt ihn halt einfach um. So ein Algorithmus ist eine Beschreibung einer Vorgehensweise. Bei Serials geht es wahrscheinlich darum, wie man aus einer Eingabezeichenkette, z.B. einen Namen, eine Zeichenkette erstellt, die den passenden Schlüssel dazu darstellt. Dazu wird man meistens die Eingabe als Byte-Werte also Zahlen irgendwie "mathematisch bearbeiten" und daraus am Ende wieder Zeichen gewinnen. Mit Zeichen und Zahlen kommt Python ganz gut zurecht.Ich möchte keine genaue Anleitung haben, weil das illegal wäre
Ich möchte nur das ihr mir sagt ob man Keygens mit Python erstellen kann und wie es in etwa geht einen Algorythmus darzustellen!
Wenn man den Algorithmus hat, hat man ja eh schon das Kochbuch zum Programmieren.
Dann musst du nur Schritt für Schritt machen was da steht...
Offtopic:
In Englisch ist die Signatur einfach besser ... Mess with the best, die like the rest
Dann musst du nur Schritt für Schritt machen was da steht...
Offtopic:
In Englisch ist die Signatur einfach besser ... Mess with the best, die like the rest
Grüße
Matthias
- Fluchen befreit von Kummer und Leid -
Matthias
- Fluchen befreit von Kummer und Leid -
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Na, zum Beispiel so:Python Master 47 hat geschrieben:wie wandle ich hexadezimalzahlen in dezimalzahlen um und wie addiere/subtrahiere/multipliziere/dividiere ich hexadezimalzahlen???
Code: Alles auswählen
In [5]: 0xFF
Out[5]: 255
In [6]: hex(255)
Out[6]: '0xff'
In [7]: 0xFF + 0x01
Out[7]: 256
In [8]: hex(0xFF + 0x01)
Out[8]: '0x100'
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Also ich hab das noch nicht so ganz gecheckt
Das einzige was ich verstehe ist eine Hex-Zahl in eine Dezimalzahl zu wandeln
Was bedeutet das In und Out?
Wie wandle ich eine Hex-Zahl in eine Dezimalzahl um???
Wie addiere/subtrahiere/multipliziere/dividiere ich Hex-Zahlen??
Das mit 0*FF+0*4d klappt net!
Das einzige was ich verstehe ist eine Hex-Zahl in eine Dezimalzahl zu wandeln
Was bedeutet das In und Out?
Wie wandle ich eine Hex-Zahl in eine Dezimalzahl um???
Wie addiere/subtrahiere/multipliziere/dividiere ich Hex-Zahlen??
Das mit 0*FF+0*4d klappt net!
mfg
Thomas :-)
Thomas :-)
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
In und Out zeigt dir nur ein Ein- und Ausgaben an
Ausgaben:
Code: Alles auswählen
h = hex(255)
print h
d = float(h)
print d
d = int(h)
Warum geht denn kein int() ???0xff
255.0
Traceback (most recent call last):
File "test.py", line 6, in ?
d = int(h)
ValueError: invalid literal for int(): 0xff
Folgendes,was du geschrieben hast geht net:
Ansonsten Danke!
Code: Alles auswählen
h=hex(255)
d=float(h)
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Warum willst du einen Int zu einem Int konvertieren?jens hat geschrieben:Warum geht denn kein int() ???
Code: Alles auswählen
In [9]: type(0xFF)
Out[9]: <type 'int'>
In [10]: isinstance(0xFF, int)
Out[10]: True
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Also:
Ich habe jetzt die Serialberechnung, von einem Programm. Das Programm werde ich nicht sagen, weil wenn niemand das Programm kennt, dann kann er das Programm nicht cracken, da ihm die Serialberechnung alleine völlig wertlos ist. Die Serialberechnung muss ich euch senden, damit ihr mir helfen könnt!
Die Serialeingabe umfasst Namen+Serialnummer.
Serialberechnung:
1. Buchstaben zwischen a und z in Großbuchstaben umwandeln
2. alle Zeichen addieren
3. berechneten Wert von 1D4C0(h) abziehen
4. und in eine Dezimalzahl umwandeln
1.Könnte so aussehen:
3.Könnte so aussehen:
4.Könnte so aussehen:
Jetzt zu meinem Problem:
zu 2.Wie bekomm ich es hin, jeden einzelnen Buschstaben von Name auszuwählen und ihm dann einen Hexwert zuzuordnen und dann in einer Variablen(Ich habe Ergebniss gewählt) zu speichern?
Und ich weiß ja nicht welchen String die Variable Name annimmt, da es dem Benutzer des Keygens ja selber überlassen ist, welchen Namen er eingibt!Also müsste ich etwas haben, das jedem Buchstaben von A-Z den entsprechenden Hex-Wert zuordnet und dann die Hexwerte für die Eingabe herausfischt und alle Hexwerte der Eingabe addiert und in eine Variable speichert.
Wie stelle ich das an??
Vielen Dank für eure Hilfe!
Ich habe jetzt die Serialberechnung, von einem Programm. Das Programm werde ich nicht sagen, weil wenn niemand das Programm kennt, dann kann er das Programm nicht cracken, da ihm die Serialberechnung alleine völlig wertlos ist. Die Serialberechnung muss ich euch senden, damit ihr mir helfen könnt!
Die Serialeingabe umfasst Namen+Serialnummer.
Serialberechnung:
1. Buchstaben zwischen a und z in Großbuchstaben umwandeln
2. alle Zeichen addieren
3. berechneten Wert von 1D4C0(h) abziehen
4. und in eine Dezimalzahl umwandeln
1.Könnte so aussehen:
Code: Alles auswählen
Name=raw_input('Name:')
Name.upper()
Code: Alles auswählen
Endergebniss=0x1D4C0-hex(Ergebniss)
Code: Alles auswählen
float(Endergebniss)
print 'Serial', Endergebniss
zu 2.Wie bekomm ich es hin, jeden einzelnen Buschstaben von Name auszuwählen und ihm dann einen Hexwert zuzuordnen und dann in einer Variablen(Ich habe Ergebniss gewählt) zu speichern?
Und ich weiß ja nicht welchen String die Variable Name annimmt, da es dem Benutzer des Keygens ja selber überlassen ist, welchen Namen er eingibt!Also müsste ich etwas haben, das jedem Buchstaben von A-Z den entsprechenden Hex-Wert zuordnet und dann die Hexwerte für die Eingabe herausfischt und alle Hexwerte der Eingabe addiert und in eine Variable speichert.
Wie stelle ich das an??
Vielen Dank für eure Hilfe!
mfg
Thomas :-)
Thomas :-)
4. Ist überflüssig. Man rechnet mit ganzen Zahlen. So eine ganze Zahl kann man als Dezimalzahl, Hexadezimalzahl, Binärzahl oder in noch anderen Basen anzeigen lassen. Ein Satz wie 'Hexzahlen addieren und das Ergebnis in Dezimal umwandeln' macht keinen Sinn weil alles nur verschiedene Darstellungen von ganzen Zahlen sind.Python Master 47 hat geschrieben:Die Serialeingabe umfasst Namen+Serialnummer.
Serialberechnung:
1. Buchstaben zwischen a und z in Großbuchstaben umwandeln
2. alle Zeichen addieren
3. berechneten Wert von 1D4C0(h) abziehen
4. und in eine Dezimalzahl umwandeln
Das geht nicht. ``0x1D4C0`` ist eine ganze Zahl und `hex()` ergibt eine Zeichenkette. Du kannst von einer Zahl keine Zeichenkette abziehen. Lass einfach das `hex()` weg.3.Könnte so aussehen:
Code: Alles auswählen
Endergebniss=0x1D4C0-hex(Ergebniss)
`float()`!? Ich habe noch nie irgendwo eine Fliesskommazahl als Seriennummer eingeben müssen. Du meinst wohl eher `int()`. Was aber überflüssig ist, weil in Schritt 3 schon eine ganze Zahl als Ergebnis herauskommt.4.Könnte so aussehen:
Code: Alles auswählen
float(Endergebniss) print 'Serial', Endergebniss
Wie gesagt: Du addierst keine Hexwerte sondern Zahlen. Und den ASCII- bzw. Bytewert für ein Zeichen bekommst Du mit `ord()`.Jetzt zu meinem Problem:
zu 2.Wie bekomm ich es hin, jeden einzelnen Buschstaben von Name auszuwählen und ihm dann einen Hexwert zuzuordnen und dann in einer Variablen(Ich habe Ergebniss gewählt) zu speichern?
Und ich weiß ja nicht welchen String die Variable Name annimmt, da es dem Benutzer des Keygens ja selber überlassen ist, welchen Namen er eingibt!Also müsste ich etwas haben, das jedem Buchstaben von A-Z den entsprechenden Hex-Wert zuordnet und dann die Hexwerte für die Eingabe herausfischt und alle Hexwerte der Eingabe addiert und in eine Variable speichert.
Ungetestet:
Code: Alles auswählen
schluessel = 0x1D4C0 - sum(map(ord, eingabe.upper()))
So ich bins nochmal!
Dein Code hat einwandfrei funktioniert! Big THX!
Jetzt brauche noch einen Befehl für einen neuen Keygen!
Wenn die Eingabe des Namen Programm ist, wie stelle ich es an, einen bestimmten Buchstaben aus, dem Namen der Eingabe herrauszufischen und dann den Wert dieses Buchstaben mit einem gewissen wert zu multiplizieren?
Also ein Teil der Serialberechnung ist:
ErsterWert = (erstes Zeichen aus Name) * 29A(Hex-Wert
Jetzt tippe ich als Namen Programm ein.Wie wähle ich jetzt P von Programm aus und multipliziere den ASCII Wert von P(P=erstes Zeichen aus Name) mit 666?
Danke!
Dein Code hat einwandfrei funktioniert! Big THX!
Jetzt brauche noch einen Befehl für einen neuen Keygen!
Wenn die Eingabe des Namen Programm ist, wie stelle ich es an, einen bestimmten Buchstaben aus, dem Namen der Eingabe herrauszufischen und dann den Wert dieses Buchstaben mit einem gewissen wert zu multiplizieren?
Also ein Teil der Serialberechnung ist:
ErsterWert = (erstes Zeichen aus Name) * 29A(Hex-Wert
Code: Alles auswählen
Name=raw_input('Name:`)
Danke!
mfg
Thomas :-)
Thomas :-)
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wie wärs damit?Python Master 47 hat geschrieben:Wie wähle ich jetzt P von Programm aus und multipliziere den ASCII Wert von P(P=erstes Zeichen aus Name) mit 666?
Code: Alles auswählen
name = 'Programm'
multiplied = [ord(ch) * 666 for ch in name]
Code: Alles auswählen
name[0]
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Also:
1.Danke für eure Hilfreichen Antworten
2.Meine Frage in meinem letzten Beitrag hätte ich, wenn ich ein bischen mehr überlegt hätte, mir auch selber beantworten können.Aber ich hab nicht richtig nachgedacht und da ist mir nix eingefallen
3.Den Rest habe ich allein ohne Probleme hinbekommen. Ich zeigs euch mal zur Info:
Serialeingabe besteht wieder aus Name+Serialnummer
Serialberechnung:
1. ErsterWert = (erstes Zeichen aus Name) * 29Ah
2. ErsterWert = ErsterWert + ((Länge des Namens) * 38E8h)
3. ZweiterWert = (erstes Zeichen aus Name) * 38E8h
4. ZweiterWert = ZweiterWert * 7Bh
5. DritterWert = (Länge des Namens) * (erstes Zeichen aus Name)
6. DritterWert = DritterWert * 19D5h
7. DritterWert = DritterWert + 38E8h
8. Alle drei Werte durch ein "-" getrennt aneinanderhängen.
und hier mein Keygen:
ihr fragt euch sicher warum anstatt dem hier:
das hier dasteht
Nun ja ich musste ja wieder auf Den ersten wert von Serial1 zugreifen, aber da Serial1 schon wieder in der neuen Serial1 Variable gespeichert wurde, konnte ich es nicht mehr aufrufen. Einfach 5 mal durchlesen dann versteht ihr es
Auch fragt ihr euch warum ich Serial3 und 5 in float umwandle und dann wieder in int. Naja ich musste wieder auf den ersten Buchstaben von Name zugreifen und da der erste Wert in Serial1[0] mit 666 multipliziert wurde hab ich einfach durch 666.0 dividiert um
a)ein genaues ergebniss zu erhalten
b)um den 1.Buchstaben von Name zu erhalten.
Auch hier wiede 5 mal durchlesen um es zu verstehen
Sicher hätte ich die beiden Sachen auch anders lösen können, aber das waren die beiden leichtesten und kürzesten Lösungen. Und ehrlich gesagt, wem interessiert bei einem Keygen der Quelltext!
Wenn Ihr aber Verbesserungsvorschläge oder Meinungen dazu zusagen habt, dann postet Sie einfach!
Noch einmal Big THX
1.Danke für eure Hilfreichen Antworten
2.Meine Frage in meinem letzten Beitrag hätte ich, wenn ich ein bischen mehr überlegt hätte, mir auch selber beantworten können.Aber ich hab nicht richtig nachgedacht und da ist mir nix eingefallen
3.Den Rest habe ich allein ohne Probleme hinbekommen. Ich zeigs euch mal zur Info:
Serialeingabe besteht wieder aus Name+Serialnummer
Serialberechnung:
1. ErsterWert = (erstes Zeichen aus Name) * 29Ah
2. ErsterWert = ErsterWert + ((Länge des Namens) * 38E8h)
3. ZweiterWert = (erstes Zeichen aus Name) * 38E8h
4. ZweiterWert = ZweiterWert * 7Bh
5. DritterWert = (Länge des Namens) * (erstes Zeichen aus Name)
6. DritterWert = DritterWert * 19D5h
7. DritterWert = DritterWert + 38E8h
8. Alle drei Werte durch ein "-" getrennt aneinanderhängen.
und hier mein Keygen:
Code: Alles auswählen
Name=raw_input('Name:')
Serial1=[ord(x) * 666 for x in Name]
Serial2=Serial1[0]+(len(Name)*14568)
Serial3=(Serial1[0]/666.0)*14568
Serial4=Serial3*123
Serial5=len(Name)*(Serial1[0]/666.0)
Serial6=Serial5*6613
Serial7=Serial6+14568
print 'Serial:', Serial2, '-', int(Serial4), '-', int(Serial7)
Code: Alles auswählen
Serial1=Serial1[0]+(len(Name)*14568)
Code: Alles auswählen
Serial2=Serial1[0]+(len(Name)*14568)
Auch fragt ihr euch warum ich Serial3 und 5 in float umwandle und dann wieder in int. Naja ich musste wieder auf den ersten Buchstaben von Name zugreifen und da der erste Wert in Serial1[0] mit 666 multipliziert wurde hab ich einfach durch 666.0 dividiert um
a)ein genaues ergebniss zu erhalten
b)um den 1.Buchstaben von Name zu erhalten.
Auch hier wiede 5 mal durchlesen um es zu verstehen
Sicher hätte ich die beiden Sachen auch anders lösen können, aber das waren die beiden leichtesten und kürzesten Lösungen. Und ehrlich gesagt, wem interessiert bei einem Keygen der Quelltext!
Wenn Ihr aber Verbesserungsvorschläge oder Meinungen dazu zusagen habt, dann postet Sie einfach!
Noch einmal Big THX
mfg
Thomas :-)
Thomas :-)
Noch ist es _nicht_ illegal. Das kann sich aber dank EU bald ändern.Python Master 47 hat geschrieben:Ich möchte keine genaue Anleitung haben, weil das illegal wäre
aha naja ich crack programme nicht um den Firmen zu schaden, sondern weil es spaßt macht, und auch sehr viel mit Intelligenz zu tun hat, serials zu berechnen, und auserdem, steigere ich mit der Programmierung von Keygens auch noch meine Programmierkenntnisse, jedenfalls ein bischen!!
mfg
Thomas :-)
Thomas :-)