crackmes.one

ezman's easy keyg3nme

Author:
ezman

Language:
C/C++

Upload:
12:55 PM 10/13/2019

Level:
1

Platform
Unix/linux etc.

Description

easy, you just need to figure out the logic behind key validation. this should be fairly easy even with an ugly debugger. i'm new here, so the difficulty ranking could be a little off.

mrT4ntr4 on 9:41 AM 10/14/2019: Too easy! (input % 0x4c7 == 0)

rootabeta on 2:06 AM 10/17/2019: To the author - This was a pretty fun crackme, and I apologize in advance for the comment I'm about to leave for the previous commenter. None of my criticism is for you. Now on the other hand, @mrT4ntr4 - What is wrong with you? What convinced you it was a good idea to post the answer to a crackme right in full view of anyone planning to download it? You wanna post a writeup somewhere else, that's fine. You even wanna link to that writeup? Go ahead. But there is no justification for waving the flag in the face of anyone else. That completely defeats the point of a crackme - to learn. You rob the player of that opportunity, and that is something I abhor.

juansacco on 12:27 PM 10/17/2019: Enter your key: 1223 Good job mate, now go keygen me. { return a1 % 1223 == 0; } There is nothing to keygen here. key is hardcoded

juansacco on 12:36 PM 10/17/2019: It's possible to write a keygen :D

mrT4ntr4 on 1:15 PM 10/18/2019: Hey @rootabeta, What I wanted to say was that it doesn't really need a keygen, also you'll find many crackmes which would lead you to the solution right away, so you just have to look for spoilers (don't read my comment). PS @juansacoo thanks for posting another one :XD

qu3st1on on 1:08 PM 11/06/2019: good for beginners :D everythind with mod 1223 = 0 i put 2446

evilyach on 9:11 AM 11/08/2019: I'd say it's pretty good exercise to get to know your disassembler, so obviously it is pretty easy, but if you are at the very beginning it's fine. If you want harder challenges, there are plenty on the Internet, guys!

BitFriends on 4:11 PM 11/11/2019: This is not very easy. My decompiler displays the key_validate funtion like this: int validate_key(int arg0) { if (arg0 == ((SAR(HIDWORD(arg0 * 0x1acb0aad), 0x7)) - (SAR(arg0, 0x1f))) * "_registerTMCloneTable") { rax = 0x1; } else { rax = 0x0; } return rax; } Please help me.

cipherhater on 11:02 AM 11/14/2019: Hi, $ ./keyg3nme Enter your key: 42424234 Good job mate, now go keygen me. $ ./keyg3nme Enter your key: tertrret Good job mate, now go keygen me. --- 1213: 29 c1 sub %eax,%ecx 1215: 89 c8 mov %ecx,%eax 1217: 85 c0 test %eax,%eax - 1219: 75 07 jne 1222 (0x1222) + 1219: 90 nop + 121a: 90 nop 121b: b8 01 00 00 00 mov $0x1,%eax 1220: eb 05 jmp 1227 (0x1227) 1222: b8 00 00 00 00 mov $0x0,%eax --- ))) Best regards

Asm0d3us on 12:30 PM 11/17/2019: check - (param_1 % 0x4c7 == 0); so simply 0 as key will work --------------------------------- Enter your key: 0 Good job mate, now go keygen me. ---------------------------------