30 ms·
This reminds me of the popular binary bomb lab offered in some computer architecture courses: http://csapp.cs.cmu.edu/public/labs.html http://csapp.cs.cmu.edu/p
by wyc 12y ago
This reminds me of the popular binary bomb lab offered in some computer architecture courses:
http://csapp.cs.cmu.edu/public/labs.html http://csapp.cs.cmu.edu/public/labs.html
- doktrin 12y agoThese are fantastic labs. I took 15-213 at CMU while already working as a software developer. It was still tons of fun and quite educational.
- mathrat 12y agoHaha, if that's the one I remember you could completely trivialize that lab by fiddling with the program counter in gdb (skipping the line that sets off the bomb). Don't know if they were able to fix that in later versions of the lab. Good times, thanks for reminding me.
- elektronjunge 12y agoWhen I did that, it seemed like it was intentional. You could only get to the portions that signal success to the server by cracking parts of the bomb which was what we were graded on. The "don't let it explode" part was really the hey here's how you can use gdb to stop your program before it does anything serious.
- CocaKoala 12y agoYeah, I thought that's how everybody did it; when my class was assigned the project, we lost half a percentage point off our final grade for each time the bomb exploded. We very quickly learned to do things like "b explode_bomb".
- mathrat 12y agoSo if I recall, you were supposed to have to do a lot of investigative work to bypass stuff. There were several different "levels" that got progressively harder to crack. But there was nothing that stopped you from moving the program counter directly to the code that signals success. Which is what we did. Every level, exactly the same: fire it up, move program counter, send the success notice, finished!
- davesque 12y agoThat was the point. When I did them, the TA encouraged us to do that. I'm pretty sure they had other measures in place that would have made it hard to fake an authentic success signal to the server. Furthermore, if you sent a corrupted one, you'd lose all credit for the assignment.
- CocaKoala 12y agoThose labs (specifically the binary bomb, buffer bomb, and malloc) were probably the most influential projects I ever did in terms of my career development. Great fun.
- mahmoudimus 12y agoI loved this - a lot of the students really struggled but I already had background in reverse engineering, it was right down my alley. I absolutely loved this and for a long time, it's what I wanted to do professionally.
- davesque 12y agoYep, did those at University of Colorado Boulder.
- vedran 12y agoThat lab was the most fun I've ever had with a homework assignment (too bad my own school didn't offer it...). I got it off the CMU website as well. A couple of years ago I did a (mostly) full walkthrough of the Binary Bomb, and it still gets a lot of hits during the semester. If anyone is curious: http://www.vedranb.com/post/19338235616/phase-1 http://www.vedranb.com/post/19338235616/phase-1