downloadbrowseultrasound's End Of the World!

Download EndOfWorld.zip, 19 kb (password: crackmes.de)
Browse contents of EndOfWorld.zip

Mission: You have found an electronic diary which holds the date to the end of the world along with a note on how to survive.

Unfortunately, the diary is huge and no-one knows where to find this date to read the instructions of how to prevent the disaster.

Another problem is that the owner of the diary has password protected its contents and the text is unreadable without the correct password!

Your task is to use your cracking and reversing skills to find:

- The date for 'the end of the world'
- Instructions on how to prevent it
- The password to the diary

Just patching or bruteforcing is not an option here, since the instructions are no good, without knowledge of the date!

Difficulty: 5 - Professional problem to solve
Platform: Windows
Language: C/C++

Published: 01. Nov, 2005
Downloads: 960

Rating

Votes: 10
Crackme is quite nice.

Rate this crackme:

Send a message to ultrasound »

View profile of ultrasound »

Solutions

Solution by merker, published 29. dec, 2005; download (14 kb), password: crackmes.de or browse.

merker has not rated this crackme yet.

Submit your solution »

Discussion and comments

code_inside
31. Oct 2005
Nice CrackMe.

But the CrackMe crashes because of a division by zero (When you type 1 char in the password field) in the uhm, Password-Date-Data-Decryption routine :)
code_inside
31. Oct 2005
A little correction from what I said above,

It happens when you enter any other char then "a-z" in the password field (Atleast it crashed when I entered "1" :) ).
code_inside
31. Oct 2005
And it only happens when the first character is any other character then "a-z" ;) (Now I stop flooding this thread... ;) ).
ultrasound
Author
31. Oct 2005
Hi Code_inside, thanks for reporting the bug, yes as you have mentioned I just tested and it will crash if the first character is not a-z, you can enter non-alphabetic characters at any other point in the password, as long as its not the first character..

I think i know why this is happening and I will fix this bug tonight when I get home..

Would you prefer me to upload the fixed version, or just leave it as it is, so as not to change the code that you have already reversed?
bigboss1988
31. Oct 2005
crackMe doesn't work !
Is it a trick? If it a trick i know it ;)
1-DebugBreak
2-IsDebuggerPreSent
3- etc...:D
ultrasound
Author
31. Oct 2005
bigboss, yes you are correct, crackme will not run with a debugger running, you must disable this.. also debugbreak is correct :)
code_inside
31. Oct 2005
ultrasound,

The bug isn't really a big problem but still it is a little bug ;)
I don't think that you need to change the code a lot though, just a little check will probably do... :)
You decide if you want to upload a fixed version ;)
ultrasound
Author
01. Nov 2005
Bug now fixed, new version online ;)
ultrasound
Author
17. Nov 2005
how is everyone getting on with this? i cant tell if people are downloading and then giving up or if people are hard at work!

any comments on what youve done so far?
code_inside
23. Nov 2005
Hi ultrasound,

At the moment i'm trying to reverse the Date Hash, but I think it can't be reversed because the date string doesn't always has the same length and that's a problem... :)
I'm probably missing something again but right now I don't see a way of reversing it...
I also don't know how to decrypt the strings, guessing? :)
Has anyone else solved it? (Or one of the two parts?)
ultrasound
Author
23. Nov 2005
glad to see your on with it..

I guess my packing and anti-debug tricks didnt cause you too much problem then, but at least the main part is :)

good luck!
code_inside
24. Nov 2005
Packing and Anti-Stuff didn't cause any problems, especially not if you use SoftICE ;)
It's always funny to see all those OllyDbg protections in CrackMe's when you're using SoftICE ;)
deroko
24. Nov 2005
I agree with code_inside about olly protection and sice =))))
ultrasound
Author
30. Dec 2005
superb merker, well done!
Shism
30. Dec 2005
any documentation of the anti-debugging trick please?
merker
30. Dec 2005
@ultrasound :
thank you, its a great idea to use a diary as crackme.

@Shism :
anti-debugging is under the law of Murphy :
1. protect your app against debugger A.
2. protect your app against debugger B.
result :
everybody uses debugger C.
Shism
30. Dec 2005
How about this one>

My anti-debugging is under the law of Shism :
1.Protect against every single damn debugger
DeepBlue
31. Dec 2005
So Shism: Let me see how you write a protection against a non-intrusive Debugger? ;)
deroko
31. Dec 2005
haha non-intrusive =) I'm currently developing imprec plugin for nonintrusive debugging so I can fix imports in warranty's unpackme 3 =)

@DeepBlue: I would check for hooks in kiuserexceptiondispatcher =)
DeepBlue
31. Dec 2005
u bastard :P

;)
Shism
31. Dec 2005
a non-intrusive Debugger is a Decompiler.....
DeepBlue
31. Dec 2005
Ever heard of Oraculums? ;)

Search in google:
Oraculums "eb fe"
Shism
31. Dec 2005
A loader.... There is always a way to defeat a cracking technique and there is always a way to defeat that anti-cracking technique... It goes on forever :)
strelok
28. Feb 2006
damn, i got all dates, but planned to write dictonary-based bruteforcer to get pass

everything is even easier
ultrasound
Author
20. Apr 2006
crackme source code is available here:
http://files.jmpeip.com/ultrasound/src/EndOfWorld/

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.