eigenclass logo
MAIN  Index  Search  Changes  PageRank  Login

1.8.4 upgrade frenzy to solve the plastic (explosive) Ruby puzzle?

... not quite, so I synthesized a new version of my Ruby puzzle, friendlier to Ruby 1.8.2. As far as I know, >90% of those that downloaded the original puzzle haven't been able to solve it yet, but I don't know if that means they've given up or that they couldn't even get started because they didn't have at least 1.8.3.

There's no excuse now...


Here's a picture of the mystifier, looking at you haughtily /hiki/crackmerubypastime2/challenge_small.png

How long will it take?

The quickest exploit takes but a few seconds, but I'm not sure if anybody has found it yet. The second best solutions (time-wise) would take but one or two minutes if you type fast.

Some people have reported one to two hours... they must have run into the traps I carefully set up for them }:-)


Get the script corresponding to your Ruby version:

NOTE: the 1.8.[34] script is the one I posted originally; the 1.8.2 one is identical modulo the minimal change required to make it work with that version of Ruby.


Some things to keep in mind:

  • don't rename the scripts!
  • you must run them from the directory they reside in; ruby /tmp/challenge-1.8.2.rb will not work
  • if you preload some library, they won't work either. Remember to unset RUBYOPT if you added -rubygems

In other words, you want to do something like

 RUBYOPT=  ruby challenge.rb


 RUBYOPT= ruby challenge-1.8.2.rb

depending on your Ruby version.

If all went well, you'll see an ASCII animation and the game can go on.


Once more, the rules:

  • you have to find the secret message hidden inside challenge.rb/challenge-1.8.2.rb
  • that message is placed in the base-64 encoded text at the beginning, which also contains the code for the ascii demo
  • the secret message will tell you how to prove that you solved the puzzle
  • please drop a comment when finished (time it took + proof) --- feedback is very appreciated
  • all means allowed to get the secret message

running the challenge - David Koontz (2006-03-07 (Tue) 18:15:42)

Perhaps I am particularly dense but when (under XP) I do "set RUBYOPT= ruby challenge-1.8.2.rb" I get "ruby: Illegal switch in RUBYOPT: -c (RuntimeError)" whenever I try to invoke the interpreter. I'm on 1.8.2 from the 1-click installer.

mfp 2006-03-08 (Wed) 02:18:31

That's weird, where does -c come from to begin with? Maybe

ruby challenge-1.8.2.rb 

(in separate lines) would work?

David Koontz 2006-03-08 (Wed) 11:56:50

Yes, seperate lines worked fine. I thought you were saying to put the whole "ruby challenge-1.8.2.rb as the value of RUBYOPT"

Oh... - Tap (2006-01-18 (Wed) 21:40:48)

I spent maybe twenty minutes last week. Five or ten just now.

Evil solution - Tap (2006-01-18 (Wed) 21:30:44)

I looked at this the other day (briefly) but couldn't solve it. Then (tonight) inspiration struck ;)

Unfortunately due to the method I used for solving it I still don't know how it works. :)


ran into each and every trap... - P-A (2006-01-17 (Mardi) 11:22:41)

... but solved it eventually. It took me 3 or 4 hours, but I learned quite a lot. Now I guess I'll just have to wait for that "few seconds exploit"... Thanks for the puzzle !


Few second solution? - Kevin Ballard (2006-01-12 (Thr) 00:42:11)

You say fastest takes but a few seconds. I solved it originally (took about 1.5 hours), and I know how to do it again in a minute, but I want to know what the few second solution is. I finally came up with a guess, that just took me 22 seconds to decompress the original text starting from scratch, but of course it requires that I know exactly what I'm doing.

If you want my guess, send me an email at [kevin@sb.org], as I'm not going to post it where people who haven't solved it yet can see.

mfp 2006-01-12 (Thr) 18:13:35

just sent an email; looking forward to your reply ;)

Solved it... - BestFriendChris (2006-01-11 (Wed) 19:47:08)


Wow. This was... Amazing. It took me, off and on, about 4 hours to solve it. I would say I am a relative novice to ruby, and I learned a ton just from looking at this code.

Thanks! Chris

Last modified:2006/01/11 06:32:05
Keyword(s):[blog] [ruby] [challenge] [puzzle] [1.8.2]
References:[Failed acceptance tests... that means they actually passed?!]