جلوگیری از بسته شدن برنامه :: V i R u s Ʒ²

V i R u s Ʒ²

هک و امنیت

V i R u s Ʒ²

هک و امنیت

Virus 32

💢 دوستانم بی دفاع و دشمنانم بی جواب نخواهند ماند 💢

-->
آخرین نظرات
  • ۲۴ آبان ۹۷، ۱۳:۵۴ - Dr.exe32
    thnx
  • ۲۳ آبان ۹۷، ۱۶:۰۲ - masoud
    ramz

در این پست تمام راه کارهای جلوگیری از بسته شدن برنامه مون توسط کاربر رو بررسی میکنیم

سعی میکنم بعد ها هم این پست رو آپدیت کنم و از دوستان دیگه هم میخوام تا به زبان های دیگه هم بنویسن :)

تا جایی که بتونم سعی میکنم ساده و مرحله به مرحله توضیح بدم.

عسل متلب :

فرض کنید یه برنامه به زبان سی شارپ ساختین و دوست ندارین برنامه تون به این سادگی ها از کاربری که ازش استفاده میکنه دل بکنه.

بیایید ابتدا بررسی کنیم که چیا باعث میشه تا کاربر از برنامه دل بکنه و بینشون فاصله بیوفته :)

1 - اون دکمه ی قرمز رنگی که علامت ضربدر داره و گوشه ی بالا وایمیسته

2 - آی کن برنامه روی نوار وظیفه ی پایین ویندوز

3 - کلیدهای مسخره ی Alt + F4

4 - برنامه ی مزخرف Task manager

5 - اینو بعدا میگم ;)

خوب حالا بیایید یکی یکی اینارو دور بندازیم


اولی دکمه قرمز رنگ ضربدر یا همون دکمه ی Close باکلاسا

برای این دکمه دوتا کار میتونیم بکنیم

یکی بدون کد نویسی دیگری با کدنویسی

بدون کد نویسی :

بازم دوتا روش داره که میتونید هر کدوم جالب تر بود انتخابش کنید

اول : تو تنظیمات فرم گزینه ی Form Boarder Style  رو بزارین روی None

دوم : تو تنظیمات فرم گزینه ی Control Box  رو بزارین رو حالت False

با این دوتا تنظیمات اون دکمه های گوشه ی بالا از بین میرن

با کد نویسی :

ابتدا کتابخونه زیر رو اضافه کنید

using System.Runtime.InteropServices;

بعد کدهای زیر رو

private const int SC_CLOSE = 0xF060;
private const int MF_GRAYED = 0x1;
[DllImport("user32.dll")]
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
[DllImport("user32.dll")]
private static extern int EnableMenuItem(IntPtr hMenu, int wIDEnableItem, int wEnable);

بعد از کد زیر در فرمتون قرار بدین

public Form1()
{
InitializeComponent();
}

حالا برای فرم لود برنامه تون هم کد زیر رو قرار بدین

EnableMenuItem(GetSystemMenu(this.Handle, false), SC_CLOSE, MF_GRAYED);

اگه برنامه تون رو استارت کنید میبینید که دکمه ی Close غیر فعال شده


دومی آی کن برنامه بود میدونید که هر برنامه ای وقتی اجرا میشه آی کنش روی نوار وظیفه ی پایین دسکتاپ دیده میشه و با کلیک راست کردن روی اون میتونیم برنامه رو ببندیم

برای جلوگیریش در تنظیمات فرم تون مقدار Show in Taskbar رو False کنید


در کد نویسی همیشه راهکارهای زیادی وجود داره و بی شک با گذشت زمان راهکار های بهتری هم پیدا میشه

شاید ابتدای شروع آموزش با خودتون گفته باشین خوب ماوس و کیبورد رو غیر فعال میکنیم و ... تمام

آموزش غیر فعال کردن ماوس و کیبورد رو بارها و بارها در پست ها و کامنت های مختلف بحث کردیم و دیگه کمتر کسی از مخاطبای این وب در غیر فعال کردنش باید مشکل داشته باشن

به همین خاطر در این پست نمیخوام درباره غیر فعال کردن ماوس و کیبورد بحث  کنم

برای جلوگیری از بسته شدن برنامه از طریق کلید های Alt + F4 

در تنظیمات فرمتون به صفحه Events برین و عبارت Form Closing رو پیدا کنید و روش دوبار کلیک کنید و تکه کد زیر رو توش بنویسید

e.Cancel = true;

تمام.

دیگه لازم نیست برای Alt یه دستور بدین و برای F های کیبورد یه دستور و ... یا لازم نیست کل کیبورد رو غیر فعال کنید


روش دیگه ی بسته شدن برنامه به کمک برنامه task manager هستش

یکی از دوستان گفته بود چطور Ctrl + Alt + Delete را از روی کیبورد غیر فعال کنیم تا کاربر نتونه وارد تسک منیجر برای غیر فعال کردن برنامه مون بشه؟

این دکمه ها کلید های ویندوز هستن و غیر فعال کردن مختصشون تقریبا غیر ممکنه

بهترین راه غیر فعال کردن خود تسک منیجر هسسش

اینجا دوتا کد میگم یکی برای غیر فعال کردن و دیگری برای فعال کردن تسک منیجر

تا بتونید تستش کنید

ابتدا کتابخونه زیر رو اضافه کنید

using Microsoft.Win32;

بهتره دوتا دکمه به برنامه اضافه کنید و یکی رو فعال و دیگری رو غیر فعال اسم گزاری کنید

دوتا کلاس زیر رو به صفحه کدها اضافه کنید

غیر فعال کردن :

public void ToggleTaskManager()
{
RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey(
@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
if (objRegistryKey.GetValue("DisableTaskMgr") == null)
objRegistryKey.SetValue("DisableTaskMgr", "1");
else
objRegistryKey.DeleteValue("DisableTaskMgr");
objRegistryKey.Close();
}

فعال کردن :

 public void SetTaskManager(bool enable)
{
RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey(
@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
if (enable && objRegistryKey.GetValue("DisableTaskMgr") != null)
objRegistryKey.DeleteValue("DisableTaskMgr");
else
objRegistryKey.SetValue("DisableTaskMgr", "1");
objRegistryKey.Close();
}

حالا روی دکمه فعال دوبار کلیک کنید و کد زیر رو براش تعریف کنید

SetTaskManager(Enabled);

و برای دکمه ی غیر فعال کردن

ToggleTaskManager();

حالا اگه دکمه ی استارت رو برای تست کردن برنامه بزنید بعد از کلیک کردن روی دکمه ی فعال کردن متوجه میشین که برنامه خطا میده و نمیتونه کارش رو انجام بده

شما باید برنامه از طریق Run as administrator اجراش کنید تا بخوبی کار کنه

بعد از زدن دکمه تسک منیجر رو خواهید دید ولی وقتی روش کلیک کنید بهتون پیام میده که این برنامه توسط ادمین ویندوز غیر فعال شده است

سعی میکنم بازم آپدیت کنم

سر افراز باشید

نظر (۱۱)

خوب اگه بخواییم ببندیمش چی کار کنیم.
نه که بیای وسط برنامه یه دکمه ای چیزی بزاری که طرف بفهمه و خودش بتونه ببندش :|
Virus 32 :
میتونی توی cmd دستور زیر رو وارد کنی
taskkill /im neame.exe
بجای name اسم برنامه رو بنویس
سلام دوباره به ویروس جوون و مستر کدر عزیز و همکاران گرامی دیگر
سوالی داشتم خدمتتون
ویندوز من 8 هست اگه بخوام بعضی از ویروس های #C رو باز کنم باید راست کلیک کنم و روی Run as Administrator کلیک کنم تا درست اجرا بشه.
میخواستم بپرسم میشه کاری کرد که وقتی روی برنامه دوبار کلیک کردیم برنامه به صورت خودکار از Run as Administrator اجرا بشه؟ دیگه رووش راست کلیک نکنیم و اینا
چون قربانی هم رووش دوبار کلیک میکنه فقط.
MR C0D3R :
سلام
من همین یه روش رو سراغ دارم
با بعضی ترفندا هم دور زدن UAC
داداش خو رو taskbar کلیک راست کنی میتونی از همونجا taskmanager رو باز کنی:\
MR C0D3R :
خو اونم ترفند دور زدنشو گفتیم دیگه تو پست
نه منظورم اینه بجای alt+ctrl+del بزنیم کلیک راست کنیم از اونجا تسک منیجرو باز کنیم
MR C0D3R :
از هر جا که باز کنی ارور میده که تسک منیجر توسط ادمین غیر فعال شده ;)
اها
اوکیB-)
سلام
معذرت باز من مزاحم شدم :)

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

جالا میخوام ببینم میشه حرکتی زد که طرف بعد از این که برنامه ما رو اجرا کرد نتونه دیگه برنامه ای رو اجرا کنه یا اگه اجرا کرد زیر اون برنامه ما نشون داده بشه که خلاصه نتونه دسترسی داشته باشه به اون برنامه ؟؟
MR C0D3R :
توی ویژگی های فرم بگرد
یه ویژگی داره که وقتی فعال بشه
برنامت روی همه ی برنامه ها قرار میگیره

بازم هم ممنان
سلام
داداش کدر یه سوال
چجوری توی سی شارپ میشه توی ریجستری تغیر ایجاد کرد.
کنسول یا ویندوزشم فرق نداره فقط میخوام یه کنی تغیربدمش تقریبا شبیه همون کدایی که ویروسو توی استارپ اپ و ریجستری کپی میکرد که با روشن شدن کامپیوترم دوباره ویروسه اجرا بشه
MR C0D3R :
سلام
من سی شارپ ندارم
اما اینا هم نمونه های خوبی هستن
وقتی برنامه نویسی شروع کردی چرا یه خرده به خودت فشار نمیاری که سرچ بزنی ؟
یادت باشه یه برنامه نویس 24 ساعته گوگلو زیر و رو میکنه :(
کلی سایت هست که جواب سوالتو دادن
خودشم چون سی شارپ تو ایران جا افتاده
اگه سرچ میزدی جوابت تو سایتای ایرانی هم بود
دیدی چقدر ساده تر و بهتر و سریع تر جواب میگیری ؟
والا از شما چه پنهون همیشه اول میرم میگردم ولی این دفعه یاد اون پست ویروسه که کپی میشد افتادم رفتم اونجا دیدم چیز زیادی دستگریرم نشد یه کمی نا امید شدم گفتم دیگه حالش نبود سرچ بزنم.
سلام.من نظرات رو چک نمیکنم اگه ممکنه برای من در جواب ایمیل بزنید.
میخواستم بدونم وقتی من نرم افزار رو توی startup ویندوز قرار میدم چیکار کنم که طرف حتی وقتی سیف مود کرد بازم برنامه بالا بیاد؟
سلام دوباره عزیز
یه مشکل این که وقتی برنامه رو میزاریم رو حالت دسترسی ادمین دیگه تووی استارتآپ میزارم بالا نمیاد.
راهی داره؟

آخ آخ اگه میشد کاری کرد که کلید های ترکیبی alt+ctrl+delete از کار میافتاد عالی میشد. چون کاربر میتونه باشون سیستمو sign out کنه.
MR C0D3R :
اونموقع میتونیم همون بار اول که برناممون اجرا میشه
دستور بدیم که برناممون سطح دسترسی رو بیاره پایین
وگرنه اگه سیستم ری استارت بشه و برنامه بخواد بیاد بالا
همون اتفاقی میفته که خودت گفتی
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی