Ja was soll ich noch sagen. Lasst euch überraschen:
Greetz TheVamp
PS: kleiner Tip klickt mal auf das ASCII-Art Bild ;)
Und hier der Source Code für meinen KeyGen ;)
using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; namespace BaW_Keygen { public partial class MainForm : Form { public MainForm() { InitializeComponent(); } //Random Zahlen generieren lassen void Btn_genClick(object sender, EventArgs e) { Random r = new Random(); txt1.Text = r.Next(0,9999).ToString("0000"); txt2.Text = r.Next(0,9999999).ToString("0000000"); txt3.Text = r.Next(0,9999999).ToString("0000000"); } void Txt1TextChanged(object sender, EventArgs e) { if (txt1.Text.Length == 4) { //zur nächsten Textbox hoppen txt2.Focus(); //Wenn alles voll, dann kann auch eine Prüfziffer generiert werden if (txt2.Text.Length == 7 && txt3.Text.Length == 7) { gen_pruef(); } } } void Txt2TextChanged(object sender, EventArgs e) { // siehe oben if (txt2.Text.Length == 7) { txt3.Focus(); if (txt1.Text.Length == 4 && txt3.Text.Length == 7) { gen_pruef(); } } } void Txt3TextChanged(object sender, EventArgs e) { //siehe oben if (txt3.Text.Length == 7) { if (txt2.Text.Length == 7 && txt1.Text.Length == 4) { gen_pruef(); } } } void gen_pruef() { //Initiale Dividenden für Schleife 1 & 2 int div1 = 0x53; int div2 = 0x61; //Aufbereitung der Strings string merke1 = "00000" + txt1.Text + txt2.Text + txt3.Text + "00000"; string merke2 = txt1.Text + txt2.Text + txt3.Text + "00"; //Schleife 1 generiert unser ersten Rest int Rest1 = 0; for (int i = 0; i < 4; i++) { //Teile extrahieren string teil = merke1.Substring(i*7, 7); // in Zahlen umwandeln int zteil = int.Parse(teil); //Rest berechnen zteil = zteil + Rest1; Rest1 = zteil % div1; } //Rest 1 umformen Rest1 = Rest1 * 4 + Rest1; Rest1 = Rest1 * 4 + Rest1; //SHL Rest1, 2 ;) Rest1 = Rest1 << 2; //2. Schleife int Rest2 = 0; for (int i = 0; i < 4; i++) { //Selbe wie oben bloß mit 5 und Div2 (0x61) string teil = merke2.Substring(i*5, 5); int zteil = int.Parse(teil); zteil = zteil + Rest2; Rest2 = zteil % div2; } //unsere Prüfzahl errechnen int Superrest = Rest1 + Rest2; //und zum schluss eintragen txt4.Text = Superrest.ToString(); } } }
Ich benutze Vanilla OllyDbg 2.01h und sollte eingentlich so funktionieren. Generell versuch ich so wenig Plug-Ins wie möglich zu benutzen ^^
Ansonsten hab ich ca. eine Stunde analysiert und ca. 2 Stunden Aufgenommen und Bearbeitet. Bei 2 Aufnahmen hatte ich ein paar Fails dabei :D
Sehr cooles „Tutorial“, gerne mehr davon! KeyGenning ist schon verdammt cool, auch wenn das jetzt verhältnismäßig einfach war, oder?
Achja, wie heißt die Olly-Erweiterung/Ansicht, die Dir Local.X und Arg.X anzeigt?