View previous topic :: View next topic |
Author |
Message |
--Pillboi-- Grandmaster Cheater Supreme Reputation: 0
Joined: 06 Mar 2007 Posts: 1383 Location: I don't understand the question. Is this a 1 to 10 thing?
|
Posted: Sun Apr 20, 2008 11:57 am Post subject: CrackMeIfYouCan |
|
|
My second crackme. It was mainly to try and get a better encryption method. Find the password you need to enter, what it is converted and compared to (the unencrypted pass), and the encryption technique for full points! Otherwise just go for the password. Btw, the encryption is still VERY simple, because I couldn't be bothered to make it too complicated for my second crackme.
Difficulty Rating: Easy
http://Wiccaan.youaremighty.com/
_________________
Enter darkness, leave the light, Here be nightmare, here be fright...
Earth and Water, Fire and Air. Prepare to meet a creature rare.
Enter now if you dare, Enter now the dragon's lair. |
|
Back to top |
|
|
Symbol I'm a spammer Reputation: 0
Joined: 18 Apr 2007 Posts: 5094 Location: Israel.
|
Posted: Sun Apr 20, 2008 1:11 pm Post subject: |
|
|
5MI13C0SUCAN is what you need.
TkfMN]hklYVb is the password you should enter.
Decrypt using:
Code: | string s = "5MI13COSUCAN";
for (int i = 0; i < s.Length; i++)
Console.Write((char)(s[i] + 0x1F - i)); |
The encryption is, looping through each character in the string and divide by 0x1F+i while i is the index in the characters array.
|
|
Back to top |
|
|
HalfPrime Grandmaster Cheater Reputation: 0
Joined: 12 Mar 2008 Posts: 532 Location: Right there...On your monitor
|
Posted: Sun Apr 20, 2008 1:14 pm Post subject: |
|
|
Code: | 004013D8 75 1E JNZ SHORT CrackMeI.004013F8 |
nop to make strcmp is always true
Encryption should be something like
for(int c=0;c<length;c++){
string[c]-=21+length-c;}
encrypted pass is 5MI13COSUCAN
Code: | 004013B4 02C2 SUB AL,DL |
Change SUB to ADD to decrypt
TkfMN]hklYVb
Code: | 004012EF E8 2C070000 CALL <JMP.&KERNEL32.IsDebuggerPresent> |
Change to
to bypass most of the antidebugger stuff
Code: | 004013DA |. E8 41060000 CALL <JMP.&KERNEL32.IsDebuggerPresent> ; |[IsDebuggerPresent |
Sould be the last of it.
EDIT:
Nuuuuuu, beaten to it
|
|
Back to top |
|
|
--Pillboi-- Grandmaster Cheater Supreme Reputation: 0
Joined: 06 Mar 2007 Posts: 1383 Location: I don't understand the question. Is this a 1 to 10 thing?
|
Posted: Sun Apr 20, 2008 1:34 pm Post subject: |
|
|
Nicely done. =)
How long did it take you?
For the encryption I had:
Code: | for (x=0;x<length;x++){
enterme[x] = enterme[x] - rot;
rot = rot - 1; //TkfMN]hklYVb
} |
But I guess, rewritten better, I could use x as the rot, and use > instead of <, and x-- etc.
Any suggestions on how to make it harder?
Wouldn't the encryption be, if I did it that way, string[i] - 31 - i? =)
_________________
Enter darkness, leave the light, Here be nightmare, here be fright...
Earth and Water, Fire and Air. Prepare to meet a creature rare.
Enter now if you dare, Enter now the dragon's lair. |
|
Back to top |
|
|
|