downloadjosamont's j333

Download j333.tar.gz, 358 b

Find the password. It isn't too hide.

Difficulty: 1 - Very easy, for newbies
Platform: Unix/linux etc.
Language: Assembler

Published: 02. Dec, 2014
Downloads: 226

Rating

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

Rate this crackme:

Send a message to josamont »

View profile of josamont »

Solutions

Solution by sarret, published 06. jan, 2015; download (6 kb), password: crackmes.de or browse.

sarret has rated this crackme as awesome.

Solution by madgen, published 06. jan, 2015; download (2 kb), password: crackmes.de or browse.

madgen has not rated this crackme yet.

The submission of solutions is closed.

Discussion and comments

sarret
14. Dec 2014
Sorry, I'm a complete newbie to the cracking topic, I'm pretty familiar with programming, linux and stuff though, but have only just begun trying crackmes (I've read a couple of articles yesterday and got interested, so maybe it's my new hobby).

Decided to start from here but immediately got lost. Obviously gdb doesn't help because the file is stripped, but either vim straightforward or after hexdumping gives '2793246581.velvet' near the end of the file. Could you please help me? Where do I start? How can I disassemble it, for example?
sarret
14. Dec 2014
Halfway through. 'objdump -D -m i386 -b binary' helped, also 'b * 0x0', then 'r', then 'delete breakpoints' and 'x /10i $pc' worked well :) sorry for spamming, I'll keep going
sarret
15. Dec 2014
Finally cracked it. Took me about 3 or 4 hours! Awfully long :) Gonna try j444 tomorrow if I have spare time. And maybe submit solution to this one.

By the way, I thoroughly enjoyed this crackme, thank you, Josep. Wish there were more Assembler/Linux crackmes.
josamont
Author
16. Dec 2014
The crackme is writen in FASM
objdump disassembles all bytes, so you must know where the program starts.
Evan's debugger, the linux version of Ollydbg is a very good program for cracking. I recomend it.
There are false clues in the strings, so don't trust everything you read.
sarret
19. Dec 2014
> objdump disassembles all bytes [...]
Well, that had me scratch my head and took me most of the time, to be honest. Because I simply couldn't find the entry point and therefore couldn't place breakpoint at the start. Through test and trial I figured it out though :)

Thanks for the hints, I've tried readelf (hadn't known about it before) --- wonder how I managed without it! and I'll have a look at Evan's dbg. Yeah, about false clues, I've already understood it, and it's great, I mean, the harder the more interesting! Of course, first impulse was to try 6-letter word 'velvet' :)
tvk6843
24. Dec 2014
The most important code id:

LOAD:080480AA mov ecx, 6
LOAD:080480AF mov esi, offset a246581 ; "246581"
LOAD:080480B4 mov edi, offset aVelvet ; "velvet"
LOAD:080480B9 repe cmpsb
LOAD:080480BB jz short loc_80480D0

The code compares the 2 strings to know the correct password.
Just need to know that the memory of aVelvet is replaced by the entered password.
So the unmodified memory is a246581. This means the password is 246581 :-)
JamsBong
30. Dec 2014
Thanks for this Josamont. This was fun. I am going to try your next one.
acruel
14. Jul 2015
Done in 5 minutes. Keep up good work! Thanks!

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.