Advertisement
shiningstar01

recover

Jul 4th, 2015
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.17 KB | None | 0 0
  1. bool jpg_sig_found(uint8_t buffer[])
  2. {
  3.     if(buffer[0]==0xff && buffer[1]==0xd8 && buffer[2]==0xff && (buffer[3]==0xe0 || buffer[3]==0xe1))
  4.        return true;
  5.     else
  6.        return false;
  7. }
  8. int main(int argc, char* argv[])
  9. {
  10.     FILE* rfile = fopen("card.raw","r");
  11.     uint8_t buffer[512];
  12.     char title[3];
  13.     int i =0,j=0;
  14.     FILE* newj;
  15.     while(1)
  16.     {
  17.         fread(&buffer,BLOCK,1,rfile);
  18.         if(feof(rfile))
  19.         {
  20.             break;
  21.         }
  22.         i++;
  23.         if(jpg_sig_found(buffer))
  24.         {      
  25.             if( j == 0)
  26.             {
  27.                 sprintf(title,"%03d.jpg",j);
  28.                 newj = fopen(title,"w");
  29.                 fwrite(&buffer,BLOCK,1,newj);
  30.             }
  31.             else if(j ==1)
  32.             {
  33.                 fclose(newj);
  34.                 sprintf(title,"%03d.jpg",j);
  35.                 newj = fopen(title,"w");
  36.                 fwrite(&buffer,BLOCK,1,newj);
  37.             }
  38.             j++;
  39.         }
  40.         else if(j>0)
  41.         {
  42.             fwrite(&buffer,BLOCK,1,newj);
  43.         }
  44.     }
  45.     printf("TOTAL ITERATION WERE: %i \n",i);
  46.     printf("TOTAL FILES FOUND: %i \n",j);
  47.     fclose(rfile);
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement