Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * recover.c
- *
- * Computer Science 50
- * Problem Set 4
- *
- * Recovers JPEGs from a forensic image.
- */
- #include <stdio.h>
- #include <stdlib.h>
- int main(int argc, char* argv[])
- {
- //open the card
- FILE* file = fopen("card.raw", "r");
- //establish the image pointer
- FILE* img;
- //create checks and balances
- int jpegNum = 000;
- int jpegOpen = 0;
- int* buffer[512];
- char title[10];
- //give memory to the buffer.
- //buffer.store = malloc(sizeof(int)*512);
- //do a loop-the-loop through the card data
- while(fread(&buffer, 1, 512, file) == 512)
- {
- //iz jpeg? yes:
- if(*buffer[0] == 0xff && *buffer[1] == 0xd8 && *buffer[2] == 0xff && (*buffer[3] == 0xe0 || *buffer[3] == 0xe1))
- {
- //does I have jpeg? yes:
- if(jpegOpen == 0)
- {
- sprintf(title, "%d.jpg", jpegNum);
- jpegNum++;
- img = fopen(title, "a");
- jpegOpen = 1;
- }
- //does I have jpeg? no:
- else
- {
- fclose(img);
- jpegOpen = 0;
- sprintf(title, "%d.jpg", jpegNum);
- jpegNum++;
- img = fopen(title, "a");
- jpegOpen = 1;
- }
- }
- //iz no jpeg
- if(jpegOpen == 1)
- {
- fwrite(&buffer, 1, 512, img);
- }
- else
- {
- //do nothing
- }
- }
- //thx for the pics
- fclose(file);
- fclose(img);
- //I haz no jpeg
- jpegOpen = 0;
- //kthxbye
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement