Clan x86

Technical (Development, Security, etc.) => General Programming => Topic started by: Joe on January 16, 2006, 04:37:34 pm

Title: Crack Me!
Post by: Joe on January 16, 2006, 04:37:34 pm
http://www.javaop.com/uploads/guest/Crack_Me.exe

Make it show "Joe sucks."
Title: Re: Crack Me!
Post by: Warrior on January 16, 2006, 05:18:46 pm
(http://www.javaop.com/uploads/guest/Iwin.PNG)
Title: Re: Crack Me!
Post by: Sidoh on January 16, 2006, 05:20:47 pm
(http://www.sidoh.org/~sidoh/joesucks.png)
Title: Re: Crack Me!
Post by: rabbit on January 16, 2006, 05:36:59 pm
Too fucking easy, Joe:
(http://www.liquid-server.org/images/easy.png)

I even provided proof that I actually (*cough*Warrior, Sidoh*/cough*) cracked it.
Title: Re: Crack Me!
Post by: Joe on January 16, 2006, 05:40:36 pm
Warrior, link?

Sidoh, rofl.

Rabbit, gj.

EDIT -
Rabbit, link?
Title: Re: Crack Me!
Post by: Warrior on January 16, 2006, 05:43:29 pm
www.adobe.com
Title: Re: Crack Me!
Post by: Sidoh on January 16, 2006, 05:45:21 pm
www.adobe.com

LMFAO
Title: Re: Crack Me!
Post by: rabbit on January 16, 2006, 05:59:44 pm
http://www.liquid-server.org/stuff/Crack_Me.exe
Title: Re: Crack Me!
Post by: Joe on January 16, 2006, 06:03:45 pm
GJ Rabbit. You win~

Basically, I was checking to make sure the data was still the data, which is why you see a hash a bit above the string in Rabbit's picture.

Code: [Select]
Private Const Data As String = "You can't crack me!"
Private SHA As New clsSHA

Private Sub Form_Load()
    Me.Show
    If UCase(SHA.SHA256(Data)) = "2406C920A8F66582F85F78F98E38B7A7C34036B20EC1BD3C70FA04100C719BC3" Then
        Print Data
    Else
        Print "Try harder."
    End If
    If Command = "-show" Then MsgBox "Legit, tool."
End Sub

I used Crack_Me.exe -show to make sure it was the one I wrote. =)
Title: Re: Crack Me!
Post by: zorm on January 16, 2006, 06:33:03 pm
Uh, this isn't any sort of protection. You need a hex editor, hell rabit replaced the "Try hander." instead of the Data string.
Title: Re: Crack Me!
Post by: Joe on January 16, 2006, 06:51:31 pm
Uh, this isn't any sort of protection. You need a hex editor, hell rabit replaced the "Try hander." instead of the Data string.

Rofl, forgot that he could just do that..

Dirty cheater, rabbi..t. =p
Title: Re: Crack Me!
Post by: iago on January 16, 2006, 07:49:54 pm
Easy!

Quote
iago@slayer:~/tmp$ ls -l Crack_Me.exe
-rw-r--r--  1 iago users 28672 2006-01-16 18:48 Crack_Me.exe
iago@slayer:~/tmp$ chmod +x Crack_Me.exe
iago@slayer:~/tmp$ echo 'echo "Joe sucks."' > Crack_Me.exe
iago@slayer:~/tmp$ ./Crack_Me.exe
Joe sucks.

gg

Btw, you might want to think of more interesting ways to protect programs.  Unfortunately, I can't find the source for ones I've written, but they involved encrypting the message, and using a key generated to decrypt it. 
Title: Re: Crack Me!
Post by: Blaze on January 16, 2006, 09:10:05 pm
Easy!

Quote
iago@slayer:~/tmp$ ls -l Crack_Me.exe
-rw-r--r--  1 iago users 28672 2006-01-16 18:48 Crack_Me.exe
iago@slayer:~/tmp$ chmod +x Crack_Me.exe
iago@slayer:~/tmp$ echo 'echo "Joe sucks."' > Crack_Me.exe
iago@slayer:~/tmp$ ./Crack_Me.exe
Joe sucks.
gg
Title: Re: Crack Me!
Post by: Newby on January 16, 2006, 10:48:52 pm
I hate to be a bitch, but according to your source code, there's absolutely no way it can say "Joe sucks".
Title: Re: Crack Me!
Post by: Sidoh on January 16, 2006, 10:57:37 pm
I hate to be a bitch, but according to your source code, there's absolutely no way it can say "Joe sucks".

Sure there is.  You open a hex editor (vi!) and change "Try harder" to "Joe sucks."
Title: Re: Crack Me!
Post by: Joe on January 17, 2006, 07:41:57 am
You were *supposed* to edit "You can't crack this" to say Joe sucks, by finding out how I made it say try harder when hex edited, and changing the SHA256 hash to match "Joe sucks", and the same with the string. But still, rabbit wins, for thinking outside the box like a good cracker should.
Title: Re: Crack Me!
Post by: Sidoh on January 17, 2006, 09:27:49 am
You were *supposed* to edit "You can't crack this" to say Joe sucks, by finding out how I made it say try harder when hex edited, and changing the SHA256 hash to match "Joe sucks", and the same with the string. But still, rabbit wins, for thinking outside the box like a good cracker should.

That's not cracking.  I would've done the same (I almost did -- had it open in vi), but it seemed like writing "JOE SUCKS" in paint was more fun, so that's what I did.
Title: Re: Crack Me!
Post by: Warrior on January 17, 2006, 11:24:56 am
and I since you provided no rules. I also fail to see how Common sense is "thinking out of the box"
Title: Re: Crack Me!
Post by: Joe on January 17, 2006, 04:55:47 pm
and I since you provided no rules. I also fail to see how Common sense is "thinking out of the box"

Well, using photoshop is not 'cracking', thus that didn't work. Sorry.
Title: Re: Crack Me!
Post by: Warrior on January 17, 2006, 05:54:10 pm
You didn't say "Crack it" you said make it say "Joe sucks". Sorry.
Of course I wouldn't act like the cracking was the mother of all tasks either since it
really was childs play.
Title: Re: Crack Me!
Post by: Joe on January 17, 2006, 06:40:19 pm
Yeah, because I forgot that 'Try harder' wasn't protected.
Title: Re: Crack Me!
Post by: Sidoh on January 17, 2006, 06:42:43 pm
Yeah, because I forgot that 'Try harder' wasn't protected.

Sounds to me like the fault of your program, not a triumph in Rabbit's cracking abilities.
Title: Re: Crack Me!
Post by: iago on January 17, 2006, 06:49:33 pm
My way was still the best.  It works on Linux!
Title: Re: Crack Me!
Post by: Sidoh on January 17, 2006, 06:59:04 pm
While trying to show iago something similar was possible in Windows, I broke it!  I figured you'd find this humerous, iago:

(http://www.sidoh.org/~sidoh/windowssucks.png)
Title: Re: Crack Me!
Post by: iago on January 17, 2006, 08:01:06 pm
Haha, I think the problem was that it shouldn't be .exe, just .bat :P

In any case, I think the conversation in the background looks more interesting anyways. :)

Quote
x: GET THE GIRLS
x: Cmon be me
y: LOL
I'm assuming y is Sidoh, but who's the x?  Could it be.... Joe?
Title: Re: Crack Me!
Post by: trust on January 17, 2006, 08:03:36 pm
I hate to be a bitch, but according to your source code, there's absolutely no way it can say "Joe sucks".

Sure there is.  You open a hex editor (vi!) and change "Try harder" to "Joe sucks."

But that's not exactly cracking anything.
Title: Re: Crack Me!
Post by: Sidoh on January 17, 2006, 08:15:07 pm
There's this flirty++ girl on WoW that now calls me "Chris" (my real name, obviously).  I have no idea how she knows my real name, but she addressed me as Chris. :\

Quote
(16:50:37) Sidoh: (15:51:47) Emichu: hey Chris, my hard-drive has gone to boot on my normal computer. If you want, I think they're going to Zul'gurub in about an hour if you're interested. I'm sure Gaets will need healers, thought I'd throw it at you
(16:58:38) Sidoh: (16:58:17) Emichu: For me, my hero? :O <#
(16:58:19) Emichu: <3
(16:58:48) Warrior: WTF DUDE
(16:58:50) Warrior: GET THE GIRLS
(16:58:56) Warrior: Cmon be me
(16:59:02) Sidoh: LOL
Title: Re: Crack Me!
Post by: Ergot on January 17, 2006, 08:18:48 pm
MSN? You only have your name as "Chris M."
Title: Re: Crack Me!
Post by: Sidoh on January 17, 2006, 08:21:46 pm
MSN? You only have your name as "Chris M."

Oh yeah.  Come to think of it, I think I did add her to MSN.  I had forgotten about that! :P
Title: Re: Crack Me!
Post by: iago on January 17, 2006, 08:29:10 pm
I hate to be a bitch, but according to your source code, there's absolutely no way it can say "Joe sucks".

Sure there is.  You open a hex editor (vi!) and change "Try harder" to "Joe sucks."

But that's not exactly cracking anything.

Well, he said to make it say "Joe sucks", he didn't really say how :P
Title: Re: Crack Me!
Post by: zorm on January 17, 2006, 09:34:56 pm
Even then its stills not really cracking. I.E. Even if you protect both strings I can just overwrite parts of your program to make it execute code to print joe sucks, there is plenty room. However, this has no real world application as in most programs you want the code you are injection to actually interact with the real program.
Title: Re: Crack Me!
Post by: iago on January 17, 2006, 09:42:20 pm
Even then its stills not really cracking. I.E. Even if you protect both strings I can just overwrite parts of your program to make it execute code to print joe sucks, there is plenty room.

That's what I did.  Well, I overwrote the whole program.  Close enough :)
Title: Re: Crack Me!
Post by: rabbit on January 17, 2006, 10:32:13 pm
You overwrote one oneth of the program.  That's a part!
Title: Re: Crack Me!
Post by: Joe on January 18, 2006, 03:19:31 pm
I think the correct term is one whole, but eh.

Or what you could have done is just calculated the SHA256 hash of "Joe sucks", and replaced the other one in there. That's what I would have done.
Title: Re: Crack Me!
Post by: Sidoh on January 18, 2006, 05:39:17 pm
I think the correct term is one whole, but eh.

Or what you could have done is just calculated the SHA256 hash of "Joe sucks", and replaced the other one in there. That's what I would have done.

Because you like to make things harder than they are?  Doing what rabbit did is by no means an unacceptable shortcut.  It was, in fact, much more acceptable than doing what you're suggesting.
Title: Re: Crack Me!
Post by: wires on January 18, 2006, 05:59:41 pm
I think the correct term is one whole, but eh.

Or what you could have done is just calculated the SHA256 hash of "Joe sucks", and replaced the other one in there. That's what I would have done.
Why the hell would you go through all of that work? :P
Title: Re: Crack Me!
Post by: rabbit on January 18, 2006, 08:12:10 pm
The point of cracking a program is to make it work.  Why would I do something to the program the author told me to if I could get the same results with 50 times less work?
Title: Re: Crack Me!
Post by: Sidoh on January 18, 2006, 08:24:01 pm
The point of cracking a program is to make it work.  Why would I do something to the program the author told me to if I could get the same results with 50 times less work?

Exactly! ^_^
Title: Re: Crack Me!
Post by: zorm on January 18, 2006, 09:54:38 pm
The point of cracking a program is to make it work.  Why would I do something to the program the author told me to if I could get the same results with 50 times less work?

Because most crack me's and such are designed to show off a specific method only. Of course real application author's are going to use a combination of methods and be much more concerned about a totally secure program.
Title: Re: Crack Me!
Post by: Sidoh on January 18, 2006, 09:58:23 pm
Because most crack me's and such are designed to show off a specific method only. Of course real application author's are going to use a combination of methods and be much more concerned about a totally secure program.

He didn't say anything about a specific method, he just said get it done.  That's what rabbit did. :P
Title: Re: Crack Me!
Post by: MyndFyre on January 18, 2006, 10:07:41 pm
Because most crack me's and such are designed to show off a specific method only. Of course real application author's are going to use a combination of methods and be much more concerned about a totally secure program.

He didn't say anything about a specific method, he just said get it done.  That's what rabbit did. :P

Yeah, but usually the author doesn't leave other methods exposed.
Title: Re: Crack Me!
Post by: Joe on January 18, 2006, 10:13:46 pm
I didn't mean to, Myndfyre.
Title: Re: Crack Me!
Post by: Sidoh on January 18, 2006, 10:24:57 pm
I didn't mean to, Myndfyre.

Well DUH.  The point is you did . :P
Title: Re: Crack Me!
Post by: iago on January 18, 2006, 10:32:33 pm
The way it was solved was the proper way to do it.  The idea of being a hacker is to think outside the box, and to use unexpected solutions.  I can give many examples, but I don't feel like it.  I don't think anybody here is arguing that the proposed solution was wrong, Joe only said it's not what he intended.  So it's all good. 
Title: Re: Crack Me!
Post by: Sidoh on January 18, 2006, 10:41:01 pm
The way it was solved was the proper way to do it.  The idea of being a hacker is to think outside the box, and to use unexpected solutions.  I can give many examples, but I don't feel like it.  I don't think anybody here is arguing that the proposed solution was wrong, Joe only said it's not what he intended.  So it's all good. 

I'm pretty sure that's what zorm was saying. :P

Quote from: Warrior
[ box ]   :D|-<   <--- You
Title: Re: Crack Me!
Post by: rabbit on January 19, 2006, 08:42:04 pm
The way it was solved was the proper way to do it.  The idea of being a hacker is to think outside the box, and to use unexpected solutions.  I can give many examples, but I don't feel like it.  I don't think anybody here is arguing that the proposed solution was wrong, Joe only said it's not what he intended.  So it's all good. 
Yes!  Exactly!  I'm sure authors protect their programs for a reason.  Why would they say "if you're gonna crack my program, do it this way..."?  I accomplished the task.  The end.