Опитвам се да чета от файл с конкретно отместване (опростена версия):
typedef unsigned char u8;
FILE *data_fp = fopen("C:\\some_file.dat", "r");
fseek(data_fp, 0x004d0a68, SEEK_SET); // move filepointer to offset
u8 *data = new u8[0x3F0];
fread(data, 0x3F0, 1, data_fp);
delete[] data;
fclose(data_fp);
Проблемът става, че данните няма да съдържат 1008 байта, а 529 (изглежда произволно). Когато достигне 529 байта, извикванията на feof(data_fp) ще започнат да връщат true.
Също така се опитах да чета на по-малки парчета (8 байта наведнъж), но просто изглежда, че удря EOF, когато все още не е там.
Един прост поглед в шестнадесетичен редактор показва, че има много останали байтове.