Hacker News new | ask | show | jobs
by mathrat 4291 days ago
Haha, 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.
2 comments

When 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.
Yeah, 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".
So 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!
That 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.