Philipps 1. CrackMe

hallo,

ich beschäftige mich seit einiger zeit mit dem cracken von crackme's. leider muss ich gestehen, dass ich grottenschlecht bin ^^
jedenfalls habe ich mir gedanken zu einem "sicheren" crackme gemacht und mal meine gedanken etwas spielen lassen und habe schließlich ein crackme programmiert. es ist wohlgemerkt mein erstes =)

ich weiß nicht ob es leicht oder schwierig für euch ist (wahrscheinlich nicht), aber auf jeden fall habe ich nirgends was geklaut und ich hoffe, ihr habt spaß daran.

ziel:
- der button soll, durch voriges eingeben der richtigen serial, anklickbar sein ;)

regeln:
- (wenn möglich) kein patchen
- es sollten bitte keine tools benutzt werden, die es möglich machen, den originalen quellquode lesbar zu machen (habe hier irgendwo gelesen, dass das bei älteren visual basic versionen geht?!)

tipps:
- ist in visual basic 2005 express geschrieben worden (weiß nicht so recht, ob das als tip zählt)
- die serial besteht nur aus zahlen

viel spaß und schreibt bitte euren lösungsweg falls ihr es schafft :D


/edit:
hab ein bug entfernt. (ab 22 stellen gabs ne fehlermeldung)
 
Hi,

eine .Net Sprache ist für ein Crackme nicht sehr geeignet! Denn man kann den Code mit .Net Reflector auslesen.

Code:
private void TextBox1_TextChanged(object sender, EventArgs e)
{
    this.quer = 0;
    this.Button1.Enabled = false;
    if ((Strings.Len(this.TextBox1.Text) % 4) == 2)
    {
        this.key = Conversions.ToLong(this.TextBox1.Text);
        if ((this.key % ((long) 0x1b)) == 3)
        {
            int num = Strings.Len(this.key) + 1;
            this.i = 1;
            while (this.i <= num)
            {
                this.quer = (int) Math.Round((double) (this.quer + Conversions.ToDouble(Strings.Mid(Conversions.ToString(this.key), this.i, 1))));
                this.i++;
            }
            if (this.quer == 0x18)
            {
                this.Button1.Enabled = true;
            }
        }
    }
}

Edit: Sry habe das hier überlesen...
es sollten bitte keine tools benutzt werden, die es möglich machen, den originalen quellquode lesbar zu machen
 
Original von Philipp
es sollten bitte keine tools benutzt werden, die es möglich machen, den originalen quellquode lesbar zu machen (habe hier irgendwo gelesen, dass das bei älteren visual basic versionen geht?!)


könntest du bitte den code wieder rausnehmen. finde ich etwas ungünstig, denn die anderen sollen ja ohne den code drauf kommen ;)

gibt es denn eine möglichkeit den quelltext nicht wiederherstellen zu können, ohne dabei eine andere programmiersprache zu nehmen?

ps:
der code sieht bei mir ganz anders aus 8)


/edit:
dankeschön =)
 
Original von Philipp
tipps:
- die serial besteht nur aus zahlen

selber prog:

Code:
function CDKey(Seed:String): String;
const Key1: Array[0..9] of Char = ('2','5','8','9','5','a','1','3','6','7');
      Key2: Array[0..9] of Char = ('8','3','4','0','1','7','x','9','3','9');
var i: integer;

begin
 result := Seed + '-';

 for i:= 1 to length(Seed) do
  result := result + Key1[Ord(Seed[i])-48];

 result := result + '-';

 for i:= 1 to length(Seed) do
  result := result + Key2[Ord(Seed[i])-48];
end;

nicht getestet...
 
Original von U17R4
selber prog:

Code:
function CDKey(Seed:String): String;
const Key1: Array[0..9] of Char = ('2','5','8','9','5','a','1','3','6','7');
      Key2: Array[0..9] of Char = ('8','3','4','0','1','7','x','9','3','9');
var i: integer;

begin
 result := Seed + '-';

 for i:= 1 to length(Seed) do
  result := result + Key1[Ord(Seed[i])-48];

 result := result + '-';

 for i:= 1 to length(Seed) do
  result := result + Key2[Ord(Seed[i])-48];

end;

ist das delphi? ich kenn mich mit delphi eigentlich gar nicht aus, aber, das was ich herauserkenne, ist glaube ich nicht als gültige serial anzusehen. was soll denn das prog bewirken?
guck doch einfach ob es eine gültige serial herausgibt und poste dann ein screen vom gelösten crackme ;)


/edit:
habe jetzt mal einen keygenerator geschrieben und da ist mir aufgefallen, dass das crackme wohl doch nicht so schwer ist. naja, mein nächstes wird schwieriger :P



//edit2:
also ich kann auch gerne tipps geben, wenn ihr wollt. einfach fragen ;)
 
Original von U17R4
also das ist auch ein key-gen der halt ein key mit nur zahlen generiert...

mhm, aber der key wird ja von meinem programm geprüft. er muss also bestimmten kriterien entsprechen. und diese kriterien werden bei deinem keygen glaube ich nicht beachtet, oder?
rät der jetzt einfach auf gut glück einen key der nur aus ziffern besteht oder was berechnet er da?
hast du schon ein paar kriterien entdeckt?
=)

wie gesagt ich gebe gerne tipps =)
 
wer an 0x19aa die 0x16 zu 0x17 ändert (push 0 zu push 1, was sich als push FALSE zu push TRUE auswirkt und den Button aktiviert), braucht gar keinen Keygen ;)
 
Original von CDW
wer an 0x19aa die 0x16 zu 0x17 ändert (push 0 zu push 1, was sich als push FALSE zu push TRUE auswirkt und den Button aktiviert), braucht gar keinen Keygen ;)

das stimmt schon, aber eigentlich ist das ziel einen gültigen key zu finden (ohne patchen). wenn es allerdings zu schwer ist, dann kann ich dies auch gelten lassen ;)
 
Zurück
Oben