Since all the missing photos were taken consecutively, and all the files have EXIF headers (that's a JPEG extension most digital cameras use, which includes things like exposure information and a timestamp), filtering them out of the pile should be a matter of running exif-date on the lot and sorting out the ones before and after the missing time period.
* Why did I write the program in C, you ask? Well, the idea of going through 500Mb of data with Perl regular expressions or something made me wince. As did the idea of reading it piecemeal into small buffers and reconstructing it from there (lots of overhead and/or extra code). Besides which, finding spans of memory between magic numbers in a block of memory (such as a mmap()ed file) is something that's sufficiently painless to do in C.