
#include "stdio.h"

// buffer, must be large enough
#define BUFFER_SIZE 0x100000
char buffer[BUFFER_SIZE];


int main(int argc , char *argv[])
{
   int i;
   int i_Read ;
   int i_Written ;
   FILE *in,*out;

   in = fopen("usb-storage.o","rb");
   i_Read = fread(buffer,1,BUFFER_SIZE,in);
   fclose(in);

   fprintf(stderr,"Read %d Bytes\n",i_Read);

   for(i=0; i< (i_Read -3); i++)
   {
       if(
              buffer[i  ] == 'U'
          &&  buffer[i+1] == 'S'
          &&  buffer[i+2] == 'B'
          &&  buffer[i+3] == 'S'
         )
      {
         fprintf(stderr,"found at %d\n",i);
         buffer[i+3] = 'U';
      }
   }

   out = fopen("usb-storagex.o","wb");
   i_Written = fwrite(buffer,1,i_Read,out);
   fclose(out);

   fprintf(stderr,"Wrote %d Bytes\n",i_Written);
  
}
