downloadbrowseV!ctor's OneDword

Download OneDword_by_V!ctor.zip, 2 kb (password: crackmes.de)
Browse contents of OneDword_by_V!ctor.zip

This crackme uses Self-Modified Code, but there is not SEH or
something else. So it will just crash if you enter wrong password.
It will crash also if you enter any password more than two times.
In OneDword is ONE right passwords.
Maybe there is more, I don't know.
If you find password, you will be very luck man!

Difficulty: 2 - Needs a little brain (or luck)
Platform: Windows
Language: Assembler

Published: 07. Aug, 2008
Downloads: 509

Rating

Votes: 5
Crackme is nothing special.

Rate this crackme:

Send a message to V!ctor »

View profile of V!ctor »

Solutions

Solution by Taddy, published 13. aug, 2008; download (1 kb), password: crackmes.de or browse.

Taddy has rated this crackme as nothing special.

Solution by [xorolc], published 12. aug, 2008; download (2 kb), password: crackmes.de or browse.

[xorolc] has rated this crackme as boring.

Submit your solution »

Discussion and comments

DigitalAcid
08. Aug 2008
Is there no goodboy message ?
I mean, after we found a right password.
I found a password that doesn't crash the crackme.
In fact there will be more than 1 possible password if there is indeed no goodboy =).
PeterPunk
08. Aug 2008
@DigitalAcid: If you type the right password you'll get the goodboy message: "This is rigth password!!!!!"
br0ken
08. Aug 2008
@DigitalAcid
I think you have to find a pwd that shows the goodboy.
Some passwords don't crash the cme, but as said in the description, if you press check again cme will crash.
DigitalAcid
08. Aug 2008
Ah, I didn't quite see the goodboy, but it's there indeed =).
Pressing the checkbutton twice is because of the xor, i know :).
More investigating to do...
_Ra_
08. Aug 2008
By the way of patching, I did manage to make OneDword pop out the goodboy message. the password that I could retreive has some non-printable characters. I believe that such password is not what we are looking for...
br0ken
08. Aug 2008
@ Ra
My calculated pwd has untypable (sp?) characters too :(
PeterPunk
08. Aug 2008
There's a typable password. I think it's unique and you just have to think a little to get it.
_Ra_
09. Aug 2008
solved. nice one!
V!ctor
Author
12. Aug 2008
[xorolc], this psw is not correct!
Ox87k
12. Aug 2008
V!ctor, i tried the [xorolc]'s password and for me it works fine :)
p1nasIAT
12. Aug 2008
[xorolc] and Ox87k; the password has to be typeable (ASCII 0x20-0x7E) - after all we do have a textbox. Solutions with non-typeable characters are not valid. This includes [xorolc]'s solution.
br0ken
12. Aug 2008
I think what Victor means is, the password must be typable.
Ox87k
12. Aug 2008
@all:
ok guys but V!ctor didn't write this nowhere so maybe next time he should be more precise

>In OneDword there is ONLY ONE right typeable passwords.
Xspider
12. Aug 2008
and why he didn't said that in RULZ ?!?!
DigitalAcid
13. Aug 2008
He did say it, but because his english is not so good, it's a bit hard to understand:

"In OneDword is ONE right passwords."
V!ctor
Author
13. Aug 2008
OneXor is version 2 of OneDword
Xspider
13. Aug 2008
hmmm i'll see :)
Taddy
13. Aug 2008
I did it :)
There are 2 typeable passords.
obnoxious
14. Aug 2008
awesome crackme and a great tut @taddy
DigitalAcid
14. Aug 2008
So, there is now a total of 3 right passwords :).
p1nasIAT
14. Aug 2008
There are at least 4 typeable passwords (not including [xorolc]'s solution). Two of them are from Taddy's solution while the other two are quite self-explanatory looking at Taddy's code.
I'll leave the mystery to you for now. I’ll submit a complete solution if no one else wants the credit.

Also, none of the submitted solutions are per-definition correct as none of them exploit the entire solution set. This crackme can only be solved (both partly and fully) by brute-forcing. Using a bit of brains the number of possible instruction combinations can be lowered to an acceptable amount and then brute-forced to find the total solution set.
simonzack
Moderator
14. Aug 2008
I'm not that good about x86 instructions
I bruteforced through the memory to check the last bytes if the jump/call goes within destination range, then check if serial is typable
But are there any other instructions that can somehow jump to another place?
DigitalAcid
15. Aug 2008
Push xxx + ret = jump xxx ;)
simonzack
Moderator
15. Aug 2008
ah, ret exploits :p
p1nasIAT
15. Aug 2008
DigitalAcid that won't work here because push [address] is 4bytes in itself (which is all we have to work with). Opcode + address = 4 bytes. A ret instruction is 1 byte and so we need 5 bytes to generate these instructions.
Taddy
16. Aug 2008
"Push xxx + ret " wors here because we cann change 4 bytes + there is a 0xFFC3 after the 4th bytes.
=> our 4 bytes + 0xFF = push [adress] and c3 = retn
but 0xD8 xor 0x68 (push) = 0xB0 is untypable character.
p1nasIAT
16. Aug 2008
Taddy - true, I was just talking from top of my head, didn't actually remember the exact bytes there. Looking at them now push is indeed a possibility.
Xspider
18. Aug 2008
@Taddy
hi Taddy i'm still don't know how you find this
E8 A2D1FCFF CALL 003D0260
can u tell me plz?!?!
obnoxious
19. Aug 2008
@Xspider the location is call 400260 or jmp 400260

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.