اگر BaseofCode اونجا نباشه نه نمیتونه مگر با تغییر مجور Page ها . اگر BaseofCode اونجا باشه بهر حال لودر اونو کدسکشن فرض میکنه . چون بنارو براین میذاره که حداقل یک EP باید وجود داشته باشه و base میخاد . ( مگر برای DLL که میتونن فقط شامل دیتا هم باشن . مثلا DLL هائی که در واقع resource file هستن . اونا مجبور به داشتن EP نیستن و لازم نیست baseofcode داشته باشن و در این حالت هم اگه کد سکشنی بسازی و بعدا اونو به دیتاسکشن تبدیل کنی هیچ کدی اونجا اجرا نمیشه )خوب حالا این دیتا سکشن با کرکتریستیک 40000040h نمیتونه کد اجرا کنه؟
اینم از صفحه نقل قول میکنم شاید دلیل اشتباهتو که این÷رایز گفته متوجه بشی
اولا Writable بودنش لازم نیست . فقط اگه کسی بخواد کد self-modifying بنویسه ( مثل ویروسهای ÷لی مورفیک ) به مجوز نوشتن نیاز داره .تازه فقط readable writeable بودن یک سکشن کافیه تا اگه اون سکشن حاوی کد بود بتونه بعد از تحویل گرفتن یه جامپ به درستی برنامه رو پیش ببره
دوما وقتی برنامه باینری درست شد دیگه خوندنی یا نوشتی بودن اون سکشن بی معنی هستش ! تو وقتی داری تو مرحله کدنویسی سکشن تعریف میکنی از خوندنی و نوشتنی و اجرائی استفاده میکنی که لینکر بفهمه چه سکشنی با چه مجوزی باید بسازه ! وقتی باینری ساخته شد فقط و فقط سکشنها دارای عنوان هستن که اون عنوان یه سری مشخصه داره . یعنی اگه بگی سکشنی خوندنی هست عبارت بی معنی ای گفتی و ممکنه فرض کنن تو مسئله رو با ÷یج اشتباه گرفتی . کدسکشن وقتی لود میشه همه ÷یجهاش خوندنی و اجرائی هستن و دیتاسکشن وقتی لود میشه همه ÷یج هاش خوندنی و نوشتنی هستن . تازه میشه اینها رو تغییر هم داد .
اگر موقع نوشتن مطلب از عبارتها به دقت استفاده میکنیم سوء تفاهمی ÷یش نمیاد چون هر کسی با ÷یش زمینه ذهنی خودش مطالب دیگرانو میخونه و با تصور خودش اونها تفسیر میکنه ....