PDA

View Full Version : درس 6 : تعیین حجم فایلBMPبا استفاده از هدر آن



Best Programmer
یک شنبه 07 دی 1382, 13:25 عصر
هدر فایل BMP در قسمتی که سایز فایل قرار دارد از کاراکتر سوم از ابدای فایل شروع میشود.(درست بعد از BM که در ابتدای همه فایلهای BMP وجود دارد.) اگر یک فایل BMP را در یک ادیتور هگز باز کنید برای بدست آوردن حجم فایل باید از کاراکتر سوم فایل شروع کنید و پیش بروید تا به کاراکتر 00برسید سپس از کاراکتر قبل از 00 به سمت کاراکتر سوم برگرید و به ترتیب کاراکترها را در ماشین حساب ویندوز در حالتی که در مد هگز قرار دارد وارد کنید سپس مد را به دسیمال تغییر دهید تا حجم فایل بدست آید. برای درک بیشتر به مثال زیر توجه کنید :
42 4D 36 64 0B 00 00 00 00 00 36 00 00 00 28 00
البته در خط بالا 42 قبل از 4D قرار دارد که به علت مشکل موجود به صورت بالا دیده میشود.
خط بالا اولین خط هدر یک فایل BMP با حجم 764550 بایت است. حالا میخواهیم این عدد را از هدر فایل بدست آوریم. برای این کار از کاراکتر سوم به بعد تا جایی جلو میرویم که به 00 برسیم سپس از کاراکتر قبلی 00 شروع میکنیم و به عقب برمیگردیم تا به کاراکتر سوم برسیم. با این حساب حجم فایل در مد هگز (مبنای ۱۶) 0B6436 میشود که وقتی أنرا در ماشین حساب ویندوز وارد میکنیم و به مد دسیمال (مبنای ۱۰) تبدیل میکنیم همان حجم فایلی که در ویندوز برای فایل دیده میشود را مشاهده میکنیم یعنی 746550 .

Best Programmer
یک شنبه 07 دی 1382, 13:28 عصر
البته اینجا اینرا هم اضافه کنم. بنده حقیر در حال تالیف یک کتاب اسمبل تحت ویندوز هستم. و از تمامی دوستان بزای این کار کمک می خواهم. البته این کتاب اصلا شامل مباحث مقدماتی نمیشود (20 صفحه) و بسرعت مباحث تحت ویندوز رو شروع کرده ام ؛ تا حدی که حتی در کتاب های خارجی هم کم می باشد. در اینجا از تمامی دوستان و علاقه مند به پیشرفت سری دعوت به همکاری میآورم. البته فکر نکید که آقا تازه می خواهد شروع کند کمک می خواد: تا به حال حدود 500 صفحه آن را نوشتع کاغذی کردم و تمومه. مباحث باقیمانده سخت ترین مباحث کامپیوتر میباشد و نیاز به دانش بالایی دارد. مثلا : Software interrupts, Memory Mapped Files Sharing Data Between Instances, ,antidebuggers , Packer ,........
لذا لارم به ذکر است که افراد واقعا علاقه مند شرکت کنند. اینجا آموزشگاه assembly under windows نیست.
لذا لارم به ذکر است که افراد واقعا علاقه مند شرکت کنند. اینجا آموزشگاه assembly under windows نیست.
لذا لارم به ذکر است که افراد واقعا علاقه مند شرکت کنند. اینجا آموزشگاه assembly under windows نیست.
و ذکر نیز بکنم که مطالب کتاب برای TASM va MASM32( البته با 1-2 تغییر کوچک) میباشد نه HLAکه برای بچه هاست.
_________________
ahsdhasdhjgsadsad