PDA

View Full Version : تفاوت ساختار فایل exe و com



mona_z
سه شنبه 05 آبان 1388, 19:42 عصر
میخواستم بدونم با چه نرم افزاری میتونم کد فایلهای exe و com رو ببینم منظورم ساختارشونه

vcldeveloper
سه شنبه 05 آبان 1388, 20:08 عصر
با یک Hex Editor.
فایل COM یک فایل حاوی دستورات ماشین هست که از کد منبع به کد ماشین تبدیل شده، و هیچ Header یا داده اضافه ایی نداره. طول این مدل از فایل ها حداکثر به اندازه یک سگمنت از حافظه هست. این نوع از فایل مربوط به سیستم عامل DOS هست، ولی همچنان در سایر سیستم عامل ها هم پشتیبانی میشه:
http://en.wikipedia.org/wiki/COM_file

فایل EXE فقط شامل دستورات ماشین نیست، بلکه دارای یک ساختار داده شامل داده های مختلفی مثل Import Table، Export Table، و غیره هست. این نوع از فایل مختص سیستم عامل ویندوز هست. برای مطالعه ساختار فایل EXE باید درباره Portable Executable File Format تحقیق کنید:
http://msdn.microsoft.com/en-us/magazine/cc301805.aspx

tdkhakpur
سه شنبه 05 آبان 1388, 20:26 عصر
براي لود شدن يك برنامه com بايد كل فايل را از ديسيك خواند و در جايي مناسب از حافظه قرار داد سپس كافيست cs را به ابتداي حافظه فوق و ip را به آفست 100h انتقال داد . اين تئوري اجراي يك برنامه com ميباشد.
ولي در مورد exe‌ كار كمي متفاوت بايد باشد يعني شما براي هر يك از سگمنتها يك جاي مشخص از حافظه برابر با مقداري كه در هدر فايل exe معين شده است رزرو كنيد و داده ها را از فايل (كه مكان ان هم در هدر فايل تعيين شده است) خوانده و در همان نقطه رزرو شده قرار دهيد و اين كار براي همه سگمنتها به روش فوق انجام بديد.
ولي در مورد جهت حركت براي اجرا بايد عرض كنم كه شروع هر سگمت نقطه start ان سگمنت محسوب ميشود.

xxxxx_xxxxx
پنج شنبه 07 آبان 1388, 00:31 صبح
تفاوت برنامه های exe و com (http://barnamenevis.org/forum/showthread.php?t=82769)