Advertisement
Guest User

Recover.c

a guest
May 25th, 2015
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.71 KB | None | 0 0
  1. /**
  2.  * recover.c
  3.  *
  4.  * Computer Science 50
  5.  * Problem Set 4
  6.  *
  7.  * Recovers JPEGs from a forensic image.
  8.  */
  9.  
  10. #include <stdio.h>
  11. #include <stdlib.h>
  12.  
  13. int main(int argc, char* argv[])
  14. {
  15.     //open the card
  16.     FILE* file = fopen("card.raw", "r");
  17.     //establish the image pointer
  18.     FILE* img;
  19.      
  20.     //create checks and balances
  21.     int jpegNum = 000;
  22.     int jpegOpen = 0;
  23.     int* buffer[512];
  24.      
  25.     char title[10];
  26.      
  27.     //give memory to the buffer.
  28.     //buffer.store = malloc(sizeof(int)*512);
  29.          
  30.     //do a loop-the-loop through the card data
  31.     while(fread(&buffer, 1, 512, file) == 512)
  32.     {
  33.         //iz jpeg? yes:
  34.         if(*buffer[0] == 0xff && *buffer[1] == 0xd8 && *buffer[2] == 0xff && (*buffer[3] == 0xe0 || *buffer[3] == 0xe1))
  35.         {
  36.             //does I have jpeg? yes:
  37.             if(jpegOpen == 0)
  38.             {
  39.                 sprintf(title, "%d.jpg", jpegNum);
  40.                 jpegNum++;
  41.                 img = fopen(title, "a");
  42.                 jpegOpen = 1;
  43.             }
  44.              
  45.             //does I have jpeg? no:
  46.             else
  47.             {
  48.                 fclose(img);
  49.                 jpegOpen = 0;
  50.                 sprintf(title, "%d.jpg", jpegNum);
  51.                 jpegNum++;
  52.                 img = fopen(title, "a");
  53.                 jpegOpen = 1;
  54.             }
  55.         }
  56.          
  57.         //iz no jpeg
  58.         if(jpegOpen == 1)
  59.         {
  60.             fwrite(&buffer, 1, 512, img);
  61.         }
  62.          
  63.         else
  64.         {
  65.             //do nothing
  66.         }
  67.     }
  68.      
  69.     //thx for the pics
  70.     fclose(file);
  71.     fclose(img);
  72.      
  73.     //I haz no jpeg
  74.     jpegOpen = 0;
  75.      
  76.     //kthxbye
  77.     return 0;
  78.      
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement