I dont understand the concept of recover. I tried watching the walkthroughs and it really doesn't make sense. Are you supposed to make your own jpegs or does cs50 provide it. Can someone explain. Thanks in advance

2 Answers 2


You are given a raw image of an SD card, and what you have to do is to find the stored JPGs in this file, and restore them as they are. You are not supposed to use your images, just recreate the images that were stored in the raw image file. For further instructions I think the specification is quite detailed.


You are given a specific file, called card.raw. (The pset assignment document explains where to get the file.) Basically, the contents of that file is a continuous stream of data that used to be a series of other files, all concatenated together. The beginning of the file is a bunch of non-jpg files, or garbage data. At some point, there is a jpg signature that marks the start of the data from a jpg file. From that point on, everything left in the card.raw file represents a series of jpg files.

Your mission, should you decide to accept it, is to find all of the jpg files embedded in card.raw, extract them, and put them in individual files, starting with 000.jpg.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .