Black & White – Serial

Ja was soll ich noch sagen. Lasst euch überraschen: skull

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();
         }

     }
 }

2 thoughts on “Black & White – Serial”

  1. 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

  2. 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?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.