downloadbrowseEncrypto's Keygenme.8.DCrypt

Download Keygenme.8.DCrypt.by.FOFF.zip, 284 kb (password: crackmes.de)
Browse contents of Keygenme.8.DCrypt.by.FOFF.zip

This is my new crypto Crackme. This time i thought instead of modifying existing crackmes why not create a own crypto ?

well to be honest its not the best but it was an attempt ;)

i hope you like it.

i would like to say thanks to SerialKiller and Mynes.

Difficulty: 3 - Getting harder
Platform: Windows
Language: Borland Delphi

Published: 09. Feb, 2008
Downloads: 692

Rating

Waiting for at least 3 votes
(we have only 2).

Rate this crackme:

Send a message to Encrypto »

View profile of Encrypto »

Solutions

Solution by freesoul, published 11. mar, 2009; download (82 kb), password: crackmes.de or browse.

freesoul has not rated this crackme yet.

Submit your solution »

Discussion and comments

Encrypto
Author
10. Feb 2008
What do you think ?
yaaara
10. Feb 2008
I easily found name/ serial combination. Can I turn crackme's exe file into keygen?
Encrypto
Author
10. Feb 2008
that is against the rules remember ;) serialphising is too easy to be honest with you lol
vsealv
11. Feb 2008
Nice tutorial. Thank you. I was able to get Good Cracker msg :-)
Encrypto
Author
11. Feb 2008
erm .. tutorial ? what tutorial ?
Knight
14. Feb 2008
"serialphising is too easy to be honest with you"
That is the sign of trivial serial check, so it is protection that is easy, not it's cracking method.
Encrypto
Author
14. Feb 2008
ehem if you didnt notice.. its a keygenme.
Encrypto
Author
14. Feb 2008
And HMX0101 has solved it the proper way :D. damn hes good
freesoul
20. Feb 2009
hello encrypto, I only took a look over the keygenme before analyzing it... so it's a self made algo? isn't a modified of existing one? because it looks so long... :O
andrewl.us
Moderator
04. Mar 2009
encrypto did you modify this routine or is delphi crazy? or
maybe someone can answer why I'm crazy :)

__fastcall Sysstem::__linkproc__ _llushr(void)
0040508C: cmp cl,20h
0040508F: jl loc_004050A2 ; should be JB!!!
00405091: cmp cl,40h
00405094: jl loc_0040509B ; should be JB!!!

00405096: xor edx,edx ; shamt > 64
00405098: xor eax,eax ; so return 0
0040509A: ret

0040509B: mov eax,edx ; 64 > shamt > 32
0040509D: xor edx,edx ; so return shift dword
0040509F: shr eax,cl
004050A1: ret

004050A2: shrd eax,edx,cl ; shamt < 32
004050A5: shr edx,cl ; so do normal shift on
004050A7: ret ; each dword

imagine shifting by 0xAD

this should shift by 45 bits (0xAD & 0x3F) (as c compiler
does with _aullshr())

eg: 0x0000000060099006 -> 0x0000000000000000

instead this delphi routine considers 0xAD as -53, so it
jumps down to where it thinks shamt < 32

then shrd considers low 5 bits of 0xAD as 13

eg: 0x0000000060099006 -> 0x000000000003004C
simonzack
Moderator
05. Mar 2009
Are you sure it's not 0x3004C80300000?
i think this should be the right result, since
a<<-b=a>>b
simonzack
Moderator
05. Mar 2009
oops sorry my mistake i misunderstood you
i'll check the routine again
freesoul
09. Mar 2009
Sent a solution :) I've just ripped it... but at least it's a solution! :D
simonzack
Moderator
10. Mar 2009
ripped it?
I'm sure it got rejected
sorry :p
look at what the author said more closely
freesoul
10. Mar 2009
I think it won't, the author authorized me... :D

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.