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?