Нестандартная задачка - достать картинки из файла
а ты их по-очереди вытаскивать пробовал? просто в виде подряд идущих бмп?
Я не знаком с форматом bmp, можешь посоветовать как это примерно организовать?
спасибо, буду пробовать
Ближе к концу большие числа - возможно разрешение картинок.
логично а делать-то что?
for (i=0;i<dostatochno_bol'shoe_chislo;i++)
{
ret = read_bmp(file_begin+i; &bitmap);
if (ret==VALUE_OK)
echo "Вполне возможно, что все заебись. Давайте посмотрим на картинку и в этом убедимся";
}
Но это в том случае, если картинки лежат в либе без какого-либо сжатия и всяких изъебств.
Еще наверное учел бы, что все файлы .bmp начинаются с аббреиватуры BM. При этом может быть, что в либу сначала пихаются хедеры всех файлов, а потом уже где-то дальше идут тела. Вариантов много)
Если кому скучно, пусть попробуют решить задачку.
бежал по ресурсу и выкидывал в отдельный файл всё от "RIFF" до следующего "RIFF"
тупо, но сработало
А можно как-то легко определить что кончился один BMP и начался другой? или надо из заголовка брать размер и потом отщиплять кусок этого размера?
Type 2 0 Сигнатура "BM"
Size 4 2 Размер файла
задачка абсолютно стандартная для рипперов =)
Если в файл влезет больше чем надо не беда, всё равно откроется Если в теле такого бмп-шника встретилась такая последовательность букв, будет плохо, но всё равно - попытка не пытка
я короче попробовал считывать 4 байта после каждого вхождения BM, получается лажа какаято, очень огромные размеры BMPшек, видимо все не так просто.
учти главное правильно считать размер ПЕРВОГО бмп-шника, а то в больших картинках внутри вполне может встретиться буквосочетание ВМ и тогда тааакое начнётся!
да я пол файла считал (а он 500 метров как никак) и ни за одним вхождением ВМ не последовало нормального значения размера файла.
а откуда вообще известно, что там бмп подряд лежат?
а что мы знаем про JPG? =)
поставь файловый монитор и посмотри как программа этот файл читает, может, что и поймешь...
а как этот файловый монитор называется?
Шарь давай.
из инета 600 метров скачаешь? в общаге завтра буду
API Spy, FileMon
если вынь, то, например, поиск по sysinternals, filemon, diskmon
С помощью этих уттилит стало ясно что в txtшник она не лазит, а лазит в какойто 5 метровый файлик с расширением dki а только потом в Images.lib
а ты еще попробуй узнать, по какому смещению она лазит туда и туда, и попытайся найти связь
в прогах смещение не указывается...
в тех, что я тебе посоветовал, указывается. Не DiskMon и FileMon, а API Monitor и API Spy
Можно еще дизассемблить прогу, которая все это создала.
но это сложно, а результат будет тот же
Оставить комментарий
nik93
Есть программа по живописи. Все файлы с картинами записаны в одном файле images.lib. В каталоге с этим файлом лежит еще тхт'шник примерно следующего содержаниявсе картины в формате bmp. Может у кого есть идеи как сопоставить эти 2 файла, чтобы достать все картины? Я что-то пока не могу придумать алгоритм