downloadbrowsejE!'s Gr. crackme >>KongFuZi<<

Download Break_KongFuZi.zip, 6 kb (password: crackmes.de)
Browse contents of Break_KongFuZi.zip

woah!
this 2 day i force myself to burn-out this crackme.
Idea came quite time ago, but i refused to show it, bcoz of bUstard-brute-force.
thusly, yesterday i build VM-like code, which IMHO prevents brute-force.

yah.. & no cooperation there!
it is personal challenge.
if quite time will unresolved, then start discussion. OK?

MODERATOR NOTE: yes it's vague, but solutions must work on machines with DEP enabled - in other words there can be no execution in the memory that was loaded from the key file

Difficulty: 8 - *VERY VERY* hard
Platform: Windows
Language: Assembler

Published: 08. Jun, 2010
Downloads: 527

Rating

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

Rate this crackme:

Send a message to jE! »

View profile of jE! »

Solutions

There are no solutions to this crackme yet. Have you solved it? Please write a tutorial and submit it here!

Submit your solution »

Discussion and comments

BoRoV
08. Jun 2010
which should appear as a result of success?
jE!
Author
08. Jun 2010
do you want source?! :D
BoRoV
08. Jun 2010
no :D

I think decided. I get the message ">>YOU<< are >>PRIDE<< of RCE SCENE!!!" :P
jE!
Author
08. Jun 2010
unusually GREAET:
:p
jE!
Author
08. Jun 2010
for prevent easy solutions, KEYfile IS NOT executable.
cracme RESPECTS "DEP", so mast solve.
redoC
08. Jun 2010
KongFuZi said: Successfully registered!

... it's not level 8.
jE!
Author
08. Jun 2010
eh??
are u sure, KongFuZi knew about Registration??
andrewl.us
Moderator
09. Jun 2010
redoC's key file is able to jmp into first region where key file is stored and execute code without exception - this is apparently what jE! was trying to prevent with VirtualProtect():

0:000> !vprot 841008
...
AllocationProtect: 00000001 PAGE_NOACCESS
RegionSize: 00001000
State: 00001000 MEM_COMMIT
Protect: 00000002 PAGE_READONLY
...

why no exception? see VirtualProtect() on msdn:

"PAGE_READONLY 0x02 Enables read-only access to the committed region of pages. An attempt to write to the committed region results in an access violation. ***If Data Execution Prevention is enabled***, an attempt to execute code in the committed region results in an access violation."

without having ever touched DEP settings on this machine, GetSystemDEPPolicy() returns OptIn - redoC's machine probably returns {OptIn, AlwaysOff} 0 crackme maybe can sense (via GetSystemDEPPolicy()) and adapt (SetProcessDEPPolicy()) to environment if its "Platform" setting is to remain general Windows - crackme needed more testing on varied machines
jE!
Author
09. Jun 2010
yah, BoRoV was first to make executable solution...

but guys, how you all can so fail to simply view file??
redoC
09. Jun 2010
Now it looks quite more difficult. I probably wait for BoRoV's solution.
BoRoV
09. Jun 2010
my solution dont like the author, he wants something else.
redoC
10. Jun 2010
... and what is exactly allowed? patching, dll injecting, some sort of bruteforcing, ...?
jE!
Author
10. Jun 2010
>>what is exactly allowed?

you should discover it yourself inside...
but, shortly, KEYfile not intended for execution code
simonzack
Moderator
10. Jun 2010
@jE:
I'm not sure if this is what you wanted, I made a keyfile with around 90% of the bytes empty
Is this what you exptected?
jE!
Author
10. Jun 2010
probably no. send in PM
redoC
11. Jun 2010
Just to be sure, the main goal is changing the text of MsgBox? Give us some clues... otherwise it could not crack nobody for years.
jE!
Author
11. Jun 2010
inside written all, what it want.
Coderess
11. Jun 2010
Mda, do something who knows what
redoC
23. Jun 2010
... and now nobody crack this for ages
jE!
Author
24. Jun 2010
why, simonzack made interesting but alternate solution.
dunno, why he not published.
CronuX
09. Jul 2010
I found this message but without knowing what it means, can be useful and waiting for some solution of this wonderful crackme, greetings

"KongFuZi said: "The hardest thing of all is to find a black cat in a dark room, especially if there is not."..; Lets break this!..; THINK, how to burn non existent string for MsgBox:..; "You have found a Black Cat in a Dark Room, although the cat was not even there!"..; Don't fight with crackme, main challenge is for your fUntasy :)..; after that, you will solve VM-like puzzle with KEY-file. (which is designed against BruteForce)..; PS. this code respects DEP...[keysz 450]"

sorry for my bad english
redoC
21. Sep 2010
nice work, alex_ls
alex_ls
22. Sep 2010
By the way this solution is not real just some kind of alternative!
"The black cat cannot be delivered into a black chumber manually, because there's no any cat at all :)"
Looking forward to see the real one!
redoC
26. Sep 2010
why solution from alex dissapeared? it was fine solution
alex_ls
27. Sep 2010
Sorry, redoC, I asked andrewl.us to remove it. Perhaps somebody will be able to create a key file with pure VM.
jE!
Author
28. Sep 2010
removing was very bad move.
didn't i suggested to publish it??
Bargest
30. Oct 2013
Now I think can show any short string (up to 20 characters) using pure VM. Is the goal to write "You have found a Black Cat in a Dark Room, although the cat was not even there!" or any other string?
Bargest
31. Oct 2013
I've modified the code. Now I can generate strings up to 50 characters long. But "You have found a Black Cat in a Dark Room, although the cat was not even there!" is still TOO long.:)

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.