نمایش نتایج 1 تا 8 از 8

نام تاپیک: نحوه ارجرای فایل های exe

  1. #1

    Question نحوه ارجرای فایل های exe

    سلام
    برنامه نویسان عزیز کی میدونه یه فایل exe به چه شکل اجرا میشه منظورم روش سیستم اجرای یک فایل exeاست
    در واقع قصد دارم بتونم باداشتن bytes یک فایل exe در ram آن فایل رو اجرا کنم ؟
    اگه مثلا تابعی یا API موجود باشه که به جای path فایل exe از ما byte های انو از ما بگیره و اجراش کنه
    system shell exe هم search کردم به یه نتایجی رسیدم ولی فایده نداشته

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آذر 1385
    محل زندگی
    Tehran
    پست
    109
    نحوه اجرای فایلهای اجرایی به شدت به سیستم عامل مورد استفاده وابسته است . در سیستم عامل ویندوزهای 32 بیتی ساختاری به نام PE برای فایل اجرایی تعریف شده است . در ابتدا حافظه مورد نیاز برای اجرای برنامه از روی اندازه ای که در ساختار فایل به نام Image Size تعریف شده ( که متفاوت از سایز واقعی فایل است ) تخصیص می یابد و به صورت مجازی در آدرس مشخص شده به نام Image Base مپ می شود. بعد اگر بطور خیلی خلاصه بگوییم فایل در حافظه تخصیص یافته بارگذاری می شود ( مسایل مختلفی در این زمینه تاثیر گذار است ، مثلا اینکه نوع داده هر بخش Section از فایل چیست و ... ) . در مرحله بعد چنانچه فایل شما Relocation Table داشته باشد ، تمام آدرسهای قابل جابجا شدن در حافظه با توجه به جایی که فایل Load شده تغییر می کند . در پایان بخشی از فایل که جدول API بکار رفته در فایل اجرایی است ( Import Table ) خوانده شده و با مشخص شده آدرس مجازی مپ شدن هر تابع در حافظه ( توابع موجود در DLL های Import شده ) بخش آدرسها مقدار دهی می شود. بعد از آن اجرای برنامه به اولین دستور اجرای برنامه که در آدرس Load Address + Entry Point قرار دارد ، منتقل می شود.

  3. #3
    نقل قول نوشته شده توسط rostamkhani مشاهده تاپیک
    سلام
    برنامه نویسان عزیز کی میدونه یه فایل exe به چه شکل اجرا میشه منظورم روش سیستم اجرای یک فایل exeاست
    در واقع قصد دارم بتونم باداشتن bytes یک فایل exe در ram آن فایل رو اجرا کنم ؟
    اگه مثلا تابعی یا API موجود باشه که به جای path فایل exe از ما byte های انو از ما بگیره و اجراش کنه
    system shell exe هم search کردم به یه نتایجی رسیدم ولی فایده نداشته
    منم یه زمانی دنبال این مطلب بودم ولی به این نتیجه رسیدم که امکان پذیر نیست.

  4. #4
    این نباید کار زیاد سختی باشه چون برنامه هایی هست که یه همچین کاری رو انجام میدن
    و تو این برنامه ها از برنامه نویسی که من دنبالشم استفاده شده مثل molebox این برنامه
    که در vb6 استفاده میشود قادر است هر فایل را حتی exe را داخل یک فایل قرار دهد یا با فایل exe اصلی برنامه یکجا متصل کند به طوری یک dir مجازی میسازد و شما میتوانید از آن فایلها استفاده کنید یا برای مثال فایل exe موجود در این dir مجازی را اجرا کنید بدون اینکه فایل داخل هارد کپی شود اجرا میشود به هر حال این کار شدنی و فکر نمیکنم زیادم سخت باشه
    زبان برنامه نویسیشم مهم نیست اگه کسی اطلاعاتی داره ممنون میشم کمک کنه

  5. #5
    نقل قول نوشته شده توسط rostamkhani مشاهده تاپیک
    این نباید کار زیاد سختی باشه چون برنامه هایی هست که یه همچین کاری رو انجام میدن
    و تو این برنامه ها از برنامه نویسی که من دنبالشم استفاده شده مثل molebox این برنامه
    که در vb6 استفاده میشود قادر است هر فایل را حتی exe را داخل یک فایل قرار دهد یا با فایل exe اصلی برنامه یکجا متصل کند به طوری یک dir مجازی میسازد و شما میتوانید از آن فایلها استفاده کنید یا برای مثال فایل exe موجود در این dir مجازی را اجرا کنید بدون اینکه فایل داخل هارد کپی شود اجرا میشود به هر حال این کار شدنی و فکر نمیکنم زیادم سخت باشه
    زبان برنامه نویسیشم مهم نیست اگه کسی اطلاعاتی داره ممنون میشم کمک کنه
    این گونه نرم افزار هایی رو که شما مثال زدید رو من هم دیدم ، درسته که این نرم افزار ها فایلها رو به هم متصل می کنند و برای اجرای فایل EXE هم از تکنیک های خاصی استفاده می کنند ولی من فکر می کنم در هر حال فایل EXE از روی هارد دیسک Execute می شه در حالی که ما در حقیقت به دنبال این هستیم که فایل EXE رو در داخل حافظه اصلی اجرا کنیم

  6. #6
    این گونه برنامه ها به این شکل کار می کنند که فایل اجرایی مورد نظر رو دریافت کرده و درون یک فایل اجرایی جدید قرار می دهند و به دو صورت هستند:
    Packer: که فقط فایل دریافتی رو پک می کنند.
    Encrypt: که علاوه بر پک کردن فایل رو به صورت رمز در میاره.

    در هنگام اجرای برنامه فایل اجرایی مورد نظر شما مستقیما روی حافظه باز می شه و در هیچ جایی روی دیسک باز نمی شه.
    استفاده از این روش جهت جلوگیری از دستیابی افراد به فایل اصلی برنامه استفاده می شود.
    البته طبیعی است سرعت اجرای برنامه در این حالت کمتر از حالت عادی می باشد.

  7. #7
    من کاری به این نرم افزار ها ندارم برای مثال گفتم .
    بیشتر بحث من همون اجرای فایل exe در ram و با در دست داشتن bytes آن فایل exe
    اگه میدونید راهنمایی کنید نگین نمیشه که تو برنامه نویسی کار نشد نداره

  8. #8
    کاربر جدید
    تاریخ عضویت
    مهر 1386
    محل زندگی
    birjand
    پست
    25

    نقل قول: نحوه ارجرای فایل های exe

    میشه راجع به relocation table بیشتر توضیح بدین ؟؟؟؟؟

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •