نقل قول: اجرای یک exe در Ram
اون exe ای که قراره در رم اجرا بشه به چه زبانی نوشته شده ؟ #C هست یا Native ؟ چون هرکدوم روش اجرای متفاوتی دارند . اگر C# هست که با Reflection میتونید از ریسورس به صورت آرایه بایت بخونید و اجراش کنید .
در ضمن این امکان هست که کاربر برنامه رو از روی رم دامپ کنه و به فایل قابل استفاده تبدیلش کنه .
نقل قول: اجرای یک exe در Ram
اون Exe برنامه که قراره اجرا شه فک کنم C++ باشه چون به کد اون دسترسی ندارم و فقط می خوام اجراش کنم.
به نظرتون چجوری به پروژه add کنم که جدا از exe برنامه نباشه؟
نقل قول: اجرای یک exe در Ram
چون فایل C++ هست ساده ترین راه اینه که از نرم افزار EnigmaVB (یا مشابهش مثل MoleBox , boxedapp و ... ) استفاده کنید .
کارش اینه که میاد dll ها و exe رو تحت یک فایل exe مجتمع میکنه .
موفق باشید ...
نقل قول: اجرای یک exe در Ram
دوست عزیز برنامه لانچر من باید این کار و بکنه که با سی شارپ می خوام اونو بنویسم پس ربطی به سی پلاس نداره، باید اون exe را از لانچر صدا بزنم پس لطفا یک راه حل در سی شارپ بفرمایید. در کل من حدس زدم که با سی پلاس پلاس باشه آخه مطمئن نیستم.
نقل قول: اجرای یک exe در Ram
نقل قول:
نوشته شده توسط
peymanjon
دوست عزیز برنامه لانچر من باید این کار و بکنه که با سی شارپ می خوام اونو بنویسم پس ربطی به سی پلاس نداره، باید اون exe را از لانچر صدا بزنم پس لطفا یک راه حل در سی شارپ بفرمایید. در کل من حدس زدم که با سی پلاس پلاس باشه آخه مطمئن نیستم.
مشکلی نداره ، لانچرتون رو مینویسید و اون exe رو میزارید کنار برنامتون ازش استفاده میکنید بعد از تکمیل برنامه رو مجتمع میکنید .
با این نرم افزار اسکن کنید اون exe رو ببینید با چه زبانی نوشته شده .
به هر حال اگر اون exe با C# بود که میتونید دیکامپایل کنید و از سورسش استفاده کنید یا از reflection و Assembly.load و Invoke استفاده کنید ، اگر هم نبود توی اینترنت RunPE رو سرچ کنید که البته یک ایراد داره اونم اینه که از argument نمیتونید برای اجرای پروسس استفاده کنید .
نقل قول: اجرای یک exe در Ram
فایل exe اصلی رو بریز نو ریسورس، با استفاده تابع writeAllByte در یجایی (مثلا temp) ایجادش کن و با process.Start اجراش کن بره پی کارش
البته یکم ظرافت باید به خرج بدی
1- مثلا با تابع WaitForExit منتظر بسته شدنش باشی و بعد فایل ایجاد شده رو دیلیت کنی
2- چون اجرای بدون وقفه بعد از ایجاد فایل ممکن استثنا رخ بده باید چند میلی ثانیه thred رو متوقف کنی بعد اجراش کنی و امثالهم
string exeFilePath = Environment. GetFolderPath(Environment .SpecialFolder.Templates) + @"\myFile.exe";
System.IO.File. WriteAllBytes(exeFilePath, Properties.Resources.myFile);
System.Threading.Thread.Sleep(200);
System.Diagnostics.Process p = System.Diagnostics .Process.Start(exeFilePath);
p.WaitForExit();
System.IO.File.Delete(exeFilePath);
نقل قول: اجرای یک exe در Ram
سلام
از برنامه Enigma Virtual Box استفاده کن.
با این برنامه میشه فایل exe یا dll یا ... رو به فایل اصلی اضافه کنی :لبخند:
http://enigmaprotector.com/en/downloads.html
نقل قول: اجرای یک exe در Ram
نقل قول:
نوشته شده توسط
shahryari
فایل exe اصلی رو بریز نو ریسورس، با استفاده تابع writeAllByte در یجایی (مثلا temp) ایجادش کن و با process.Start اجراش کن بره پی کارش
البته یکم ظرافت باید به خرج بدی
1- مثلا با تابع WaitForExit منتظر بسته شدنش باشی و بعد فایل ایجاد شده رو دیلیت کنی
2- چون اجرای بدون وقفه بعد از ایجاد فایل ممکن استثنا رخ بده باید چند میلی ثانیه thred رو متوقف کنی بعد اجراش کنی و امثالهم
string exeFilePath = Environment. GetFolderPath(Environment .SpecialFolder.Templates) + @"\myFile.exe";
System.IO.File. WriteAllBytes(exeFilePath, Properties.Resources.myFile);
System.Threading.Thread.Sleep(200);
System.Diagnostics.Process p = System.Diagnostics .Process.Start(exeFilePath);
p.WaitForExit();
System.IO.File.Delete(exeFilePath);
مسئله همینجاست اگه کاربر لانچر و end task کنه می تونه به exe دسترسی داشته باشه ، اگه لطف کنید و در ادامه راهی معرفی کنید که بتونم exe را بدون کپی در هارد مستقیم در Ram اجرا کنم یا راه دیگه که بتونیم دسترسی به exe را به صفر برسونیم بسیار عالی می شه.
نقل قول: اجرای یک exe در Ram
نقل قول:
نوشته شده توسط
336699
نقاط ضعف این برنامه چیه؟
نقل قول: اجرای یک exe در Ram
نقل قول:
نوشته شده توسط
peymanjon
مسئله همینجاست اگه کاربر لانچر و end task کنه می تونه به exe دسترسی داشته باشه ، اگه لطف کنید و در ادامه راهی معرفی کنید که بتونم exe را بدون کپی در هارد مستقیم در Ram اجرا کنم یا راه دیگه که بتونیم دسترسی به exe را به صفر برسونیم بسیار عالی می شه.
در هر حال باید یه فکری به فکر تسک منیجر بکنی چون مسیر فایل رو میشه پیداش کرد که از کجا run شده
به نظرم راهی که داری میری اشتباهه..
اگه منظورتو واضح بگی من و دوستان راههای بهتری رو پیشنهاد میکنیم
حالا باز اینجا رو هم ببین