خوب مشکل من هم همینجاست که شما میگید از اول فایل تا انتهای هدر رو به دست بیاریم خوب مشکل من هم همینه که از کجای فایل تا کجای فایل هدر هست و ابتدا و انتهای هدر رو چطوری میشه به دست آورد؟ خیلی ممنونم برای جواب دادن سوالم
برای همین پرسیدم که هدر این فایل ها ساختار مشخصی داره؟ هر فرمت فایلی هدر مخصوص به خودش رو داره،
بگذریم که بعضی از فرمت ها اصلا بخشی به عنوان هدر ندارند. شما اول باید ساختار اون فرمت فایل مورد نظرتان
را بررسی کنید و بر اساس اون ساختار طول هدر و موقعیت انتهای آن رو مشخص کنید.
به عنوان مثال در فرمت فایل BMP یا Windows Bitmap چهارده بایت اول مربوط به هدر اولیه است و در موقعیت پانزدهمین
بایت طول هدر تکمیلی بر حسب بایت بصورت یک عدد 32 بیتی ذخیره شده که مقدار معمول اش 40 بایته. پس میشه
گفت اگه قرار باشه که هدر یک فایل BMP رو شناسایی کنید، یک عدد 32 بیتی را از موقعیت 15 می خوانید و مقدارش
رو با 14 (طول هدر اولیه) جمع می کنید تا اندازه کامل هدر مشخص بشه.
یک مثال دیگه می زنم، در فرمت فایل MP3 برای خواندن تگ ID3 نسخه 1 در ابتدای فایل اگر عبارت چهار کاراکتری
+TAG را دیدید با یک ساختار Extended روبرو شده اید و بایستی 227 بایت به جلو حرکت کنید وگرنه همانجا باقی بمانید.
حالا چه با ساختار Extended روبرو شده اید و چه نشده اید، اکنون اگر با عبارت سه کاراکتری TAG روبرو شدید،
یک هدر 128 بایتی شامل مشخصات صوتی (عنوان، آرتیست، آلبوم و ...) را یافته اید.
شناسایی هدر کاملا وابسته با ساختار فرمت فایل است. اگر می خواهید در مورد ساختار داخلی فایلها اطلاعاتی
کسب کنید بهترین منبعی که می شناسم سایت
Wotsit.org است :
The Programmer's File and Data Resource