Programming 3 luck

Put your programming skills to the test in these challenges.

Programming 3 luck

Post by Jimmy_xor on Sat Apr 26, 2008 6:05 pm
([msg=1464]see Programming 3 luck[/msg])

I just finished programming 3 an hour ago, but I don't like my brute force method.
My running time varies from 3s to 500s depending on the given values, so I was lucky when I completed it.
I want to know how other people have done..
Does someone want to describe their method or perhaps show me some code?
Jimmy_xor
New User
New User
 
Posts: 22
Joined: Tue Apr 22, 2008 4:35 pm
Blog: View Blog (0)


Re: Programming 3 luck

Post by sharpskater69 on Sat Apr 26, 2008 6:35 pm
([msg=1469]see Re: Programming 3 luck[/msg])

I'm too close to post what I'm trying, so I sent a pm. 36^45 (missing keyspace) is too much for brute-forcing. There's also a shortcut since the hash chars get reused.

Edit: Works fine, this took me a while to grasp the method, but it was fun.
sharpskater69
New User
New User
 
Posts: 34
Joined: Tue Apr 22, 2008 4:10 pm
Blog: View Blog (0)


Re: Programming 3 luck

Post by TheMindRapist on Wed May 21, 2008 7:07 pm
([msg=2973]see Re: Programming 3 luck[/msg])

If anybody has done this in Java, I could a bit of help.
Image
User avatar
TheMindRapist
Contributor
Contributor
 
Posts: 585
Joined: Mon Apr 14, 2008 4:57 pm
Blog: View Blog (0)


Re: Programming 3 luck

Post by supr_k9 on Wed Jun 04, 2008 11:30 pm
([msg=4031]see Re: Programming 3 luck[/msg])

i need help with this. i just aneed a simple question answered no spoilers or anything.

on the encryptstring function, there are two arguments, strString (which is what we are trying to figure out) and strPassword. to get strString though, dont we need to know what strPassword is? and to get strPassword, we would have to reverse Md5 encryption which is technically impossible. so am i missing something here? we know the output of the function, and we are trying to find out what strString is, but do we know what strPassword is?

sorry if the above is a "noob question"
supr_k9
New User
New User
 
Posts: 2
Joined: Mon Apr 21, 2008 11:11 pm
Blog: View Blog (0)


Re: Programming 3 luck

Post by BhaaL on Thu Jun 05, 2008 11:28 am
([msg=4049]see Re: Programming 3 luck[/msg])

Take a good look of what happens to strPassword.
Apart from that, brute-forcing is the only way to solve this - smart brute-forcing of course, you dont have much time.

FYI, my solution took rougly a second to complete.
BhaaL
Poster
Poster
 
Posts: 270
Joined: Sun Apr 13, 2008 11:16 am
Blog: View Blog (0)


Re: Programming 3 luck

Post by pescador on Mon Jun 16, 2008 12:59 pm
([msg=4962]see Re: Programming 3 luck[/msg])

My solution also takes between a few and a few hundred seconds. It is in an interpreted language, so I should be able to speed it up a some. I don't think I'm going to though. For some reason this one took me the longest of all programming challenges.
pescador
New User
New User
 
Posts: 5
Joined: Mon Apr 28, 2008 10:29 am
Blog: View Blog (0)


Re: Programming 3 luck

Post by Nines on Mon Jun 16, 2008 1:08 pm
([msg=4963]see Re: Programming 3 luck[/msg])

pescador wrote:For some reason this one took me the longest of all programming challenges.

Me too. I've still got #6 to do though.
User avatar
Nines
Poster
Poster
 
Posts: 191
Joined: Sun Apr 13, 2008 5:57 pm
Blog: View Blog (0)


Re: Programming 3 luck

Post by MrRubix on Mon Jun 16, 2008 9:45 pm
([msg=5013]see Re: Programming 3 luck[/msg])

I don't like the name of this challenge because it isn't really something I think we "reverse" -- it deals with rolling totals and md5's which aren't really reversible (e.g. A total of "100" might be 50+50 or it could be 25+75, but we don't know which case we're dealing with, for instance) -- implying that brute forcing is really the only way we can go about it, but in a way that won't be inefficient and waste a lot of time and resources.

My issue though is still with the fact that you have both a serial string as well as a password string -- both are used as md5's. That is, it's not like we're ONLY using the total of the hex values derived from the password string -- we're actually using the password string itself as well as the serial string in our operations, for instance: ('0x0' . substr($strPasswordMD5, $i%32, 1)) is used in one operation, implying that in our calculations, we must find the full serial string and also know the full password string. This is puzzling me at the moment (would take eons to find all combinations of serials with all combinations of passwords, etc... there must be some shortcut but I'm not seeing it yet).

Will keep cracking at it though :P


EDIT: I think I just answered my own question, on a second look. We don't *technically* need to know the password, I think... we just need to be able to match the net output of that entire operation where the password just happens to be used.
MrRubix
New User
New User
 
Posts: 17
Joined: Sun Jun 15, 2008 5:15 pm
Blog: View Blog (0)


Re: Programming 3 luck

Post by BhaaL on Tue Jun 17, 2008 11:39 am
([msg=5036]see Re: Programming 3 luck[/msg])

MrRubix wrote:EDIT: I think I just answered my own question, on a second look. We don't *technically* need to know the password, I think... we just need to be able to match the net output of that entire operation where the password just happens to be used.


I guess you dont need any others hints now anymore, do you? ;)
BhaaL
Poster
Poster
 
Posts: 270
Joined: Sun Apr 13, 2008 11:16 am
Blog: View Blog (0)


Re: Programming 3 luck

Post by MrRubix on Tue Jun 17, 2008 3:06 pm
([msg=5056]see Re: Programming 3 luck[/msg])

Still working on it, but I think it'll be okay if I give it some more thought.

My main issue is speed. How fast have people gotten this down to?

I'm running it on a server and it times out after 30 seconds of processing, which is a bit annoying.
MrRubix
New User
New User
 
Posts: 17
Joined: Sun Jun 15, 2008 5:15 pm
Blog: View Blog (0)


Next

Return to Programming

Who is online

Users browsing this forum: No registered users and 0 guests