downloadbrowseDiS[IP]'s creakme_001

Download Serialme.zip, 2 kb (password: crackmes.de)
Browse contents of Serialme.zip

This is my first CrackMe. Is very simple, so you should crack it fast.

Coded in Assambler
File is off course not packed:)
Difficulty: 0/10:)

Send solution to www.crackmes.de, but only if you are newbie!!! Professionals don't send this is unhuman;)

Difficulty: 1 - Very easy, for newbies
Platform: Windows
Language: Assembler

Published: 04. Sep, 2005
Downloads: 1610

Rating

Votes: 5
Crackme is boring.

Rate this crackme:

Send a message to DiS[IP] »

View profile of DiS[IP] »

Solutions

Solution by coffeemike, published 06. sep, 2005; download (4 kb), password: crackmes.de or browse.

coffeemike has rated this crackme as quite nice.

Solution by D4ph1, published 06. sep, 2005; download (37 kb), password: crackmes.de or browse.

D4ph1 has not rated this crackme yet.

Solution by Ox87k, published 06. sep, 2005; download (49 kb), password: crackmes.de or browse.

Ox87k has not rated this crackme yet.

Submit your solution »

Discussion and comments

Ox87k
04. Sep 2005
i found a bug... i think..
if i put
name: zZz999
serial: zaZbzc9d9e9f
the creakme don't get this serial but " aZbzc9d9e9f" without the first char....

is this a bug??
Ox87k
04. Sep 2005
mmm sorry the creakme get this serial " aZbc9d9e9" so i think u declare a buffer for serial long only 10 byte... :|
code_inside
04. Sep 2005
The CrackMe first gets the serial in a buffer of size 256, then it gets the name also in a buffer with size 256, but the name buffer is 6 bytes before the serial buffer and so the name will override the serial (If it's longer then 5 characters (Including terminating NULL)).
DiS[IP] should recode the CrackMe :)
BieX
04. Sep 2005
well, yeah.. in other words the name is an array of 0 to 4

--->

ADDRESS:004010fe
Validate()
{
InputName[4] = '';
Serial = '';
RealSerial = '';
i = 0;
do {
if(InputName[i] == "Z") {
InputName[i] = InputName[i] - 1;
}
if(InputName[i] == "z") {
InputName[i] = InputName[i] - 1;
}
if(InputName[i] == "9") {
InputName[i] = InputName[i] - 1;
}

// the bug: RealSerial[i] = *(I * 2 + 0x40301a); -- inputname is has a max char array of 4

RealSerial[i] = InputName[i] + 1;
RealSerial[i+1] = InputName[i+1]+ 0x61 + I;

if(Serial[i]+Serial[i+1] != RealSerial[i]+RealSerial[i+1]) {
goto @BadKey;
}
I++;
} while(I != length(RealSerial));


if(Serial == RealSerial) {
return MessageBoxA(00403000, "Register complite!!!", ".:: DiS[IP] Programer ::.", 0);
}
@BadKey:
return MessageBoxA(00403000, "Name or Password is BAD!!", ".:: DiS[IP] Programer ::.", 0);
}
Ox87k
04. Sep 2005
yeah... btw i sumbitted my keygen when i write my first comment here. I know this "bug". I don't include the max char limit on name. (so i hope my solution is correct!)
tHOBAS
04. Sep 2005
the only bug that i finde is that just accepte 5 characters whith max y 3 charracter with minimum

Sorry my english is very bad
setty
06. Sep 2005
name: setty
pass : tafbucudze
i craked it in 1.5 min.
then if put nop on 40113d it will acept any pass
coffeemike
06. Sep 2005
Nice crackme for beginners. Solution (really a walkthrough) submitted.
BieX
06. Sep 2005
its very easy to see how the code is generated by looking at a Name/Serial.. eg.
name: 0000
serial: 1a1b1c1d
D4ph1
06. Sep 2005
The program can accept as much characters as we want but more than 3! Well i submit my solution with the key generator who accept until 30 chars...hope its right
neverdas
20. Sep 2005
neverdas 05.09.20
deibiz_xxl
20. Sep 2005
D4ph1, have you tested your keygen?? I also think that there is a bug, because I have written a crackme that works for every string with a maximum length of 5.
deibiz_xxl
20. Sep 2005
I have had an idea. Maybe DiS[IP] have coded it thinking that if the name is more than 5 chars long, you have to take some chars out at the beginning of the pass. For example, if your name is 7 chars long, you have to code your serial in the normal way, but then you have to take out 7-2 chars out at the beggining of the string. Somebody understand me? Maybe this is correct?
deibiz_xxl
20. Sep 2005
I have commited an error, I want to say 7-5, not 7-2, you know?
deibiz_xxl
20. Sep 2005
I have tried to code something, but I can't make it work.
csin
24. Sep 2005
KeyGen: http://www.csin.host.sk/DiS[IP]'s creakme_001 KeyGen.exe
D4ph1
24. Sep 2005
deibiz_xxl as CodeInside and Ox87k said before, the name can't be longer than 5 letters. My key generator takes more than 5 letters in the name and of course it doesn't generate a valid serial. For 3 to 5 letters though it works just fine. The bug in my program is that i've forgotten a '=' and soon i will update it. csin's keygenerator works good!

You may leave your comment, thoughts and discuss this crackme with other reversers here.
Acting childish will not be tolerated.
HTML and such will be left as-is, so don't try.