PDA

View Full Version : جلوگیری از end process کردن برنامه توسط tak manager



amirepsilon
چهارشنبه 10 تیر 1388, 12:02 عصر
ُسلام
چطور میشه یه کاری کرد که نشه توی تسک منیجر برنامه رو متوقف کرد ؟
یا در حالت کلی تر نشه برنامه رو اصلا unistall کرد؟!
ممنون

tdkhakpur
چهارشنبه 10 تیر 1388, 14:03 عصر
سلام
در مورد سوال اول شما باید عرض کنم که با این کار task manager فقط یک پیغام خروج برای برنامه شما ارسال میکند شما میتوانید این کنترل را در پیغام برنامتون داشته باشید و مانع از خروج برنامه شوید.
ولی در مورد unistall کردن بستگی دارد شما برنامه را چطور نصب کرده باشید اگر داخل رجیستری مشخصات نصب شده باشد میتوانید این پارامتر ها را از رجیستری حذف کنید ولی ممکن است برنامه بعدا بخوبی کار نکند

amirepsilon
شنبه 13 تیر 1388, 14:15 عصر
میشه مثال بزنید ؟

tdkhakpur
شنبه 13 تیر 1388, 16:53 عصر
سلام
کارش زیاده. با مثال ساده قابل حل نیست. یک سری به thread هم بزنید.

khmahdi
دوشنبه 26 بهمن 1388, 19:27 عصر
سلام
یه جایی دیدم از این روش استفاده شده بود -توی یه ویروس بود-ولی اگه کسی روش رو بدونه می تونه هکش کنه
روش اینه: دوتا پروسه ایجاد می کنیم ،تو ی هر کدوم یه تایمر می ذاریم که چک کنه اگه پروسه ی دیگه بسته شده دوباره بازش کنه وتوی اون یه پروسه هم به همین ترتیب ،حالا هر چی تعداد این پروسه ها زیاد بشه امنیتش میره بالا
ولی میشه بابرنامه ای که یکجا دو تا -یا همه ی اون - پروسه ها رو کیل کنه این روشو هک کرد ولی مردم عوام نمی تونن کاری کنن!:قهقهه:
اگه مفهوم نبود دوستان بگن نمونه بذارم
یا علی

AliRezaPro
دوشنبه 26 بهمن 1388, 20:11 عصر
چطور میشه یه کاری کرد که نشه توی تسک منیجر برنامه رو متوقف کرد ؟
به نظرم شما هر کاری کنید باز برنامه تون اند تسک میشود.تنها راهی که دارید این است که برنامه تون رو داخل winlogon لود کنید چون در این صورت اند تسک نمیشود.شاید راه های دیگه ایی هم وجود داشته باشد.

misoft.ir
دوشنبه 26 بهمن 1388, 21:12 عصر
سلام
این کد رو امتحان کردم اما جواب نداد
مشکلش داره یا کاربردش جای دیگریه؟


private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.TaskManagerClosing)
{
e.Cancel = true;
}
}

AliRezaPro
دوشنبه 26 بهمن 1388, 22:12 عصر
چطور میشه یه کاری کرد که نشه توی تسک منیجر برنامه رو متوقف کرد ؟
این صفحه شاید برایتان مفید واقع شود

http://www.techtalkz.com/c-c-sharp/121697-detect-task-manager-end-process.html

khmahdi
دوشنبه 26 بهمن 1388, 22:33 عصر
سلام
این کد رو امتحان کردم اما جواب نداد
مشکلش داره یا کاربردش جای دیگریه؟


private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.TaskManagerClosing)
{
e.Cancel = true;
}
}


سلام داداش
کدی که شما گذاشتید برای موقعیه که کاربر مثل آدم فرم رو کلوز کنه،
اما وقتی پروسه اند تسک میشه پیام دیگه ای به پروسه فرستاده می شه،لینک "man7tomani" کارتونو راه میندازه

r00tkit
سه شنبه 27 بهمن 1388, 02:43 صبح
سلام یه روش اینه که اسم برنامتو از taskmanager پاک کنی که از دید کاربر مخفی بشه که روش های مختلف برای این کار هست:

1) دست کاری کردن کد TM در مموری که نیاز به Assembly Language, Windows API programming,
low-level debugging

2) برنامتو تبدیل به Service کنی که با این کار فقطsvchost.exe دیده می شه
این کار در ویندوز 98 براحتی با تابع RegisterServiceProcess انجام می شد اما تو NT حذف شده
این تابع توی kernel32.dll قرار داشت شاید اگر فایل kernel32.dll ویندوز 98 توی مسیر برنامت باشه بشه از این تابع استفاده کرد چون اولویت با مسیر اصلی برنامه است

3)یه Driver بنویسی که دیگه تو TM دیده نمی شه

4)اگه برنامتو می تونی dll win32 بنویس و براش یه entry point انتخواب کن به صورت extern و با rundll32.exe اجراش کن در این صورت برنامت دیگه تو TM دیده تمی شه که بخواد kill بشه

5) یه سری توابع هستنند که ComboBox متعلق به TM رو دست کاری می کنند مثال:
http://www.codeproject.com/KB/system/Hack_Windows_Task_Manager.aspx

یا
kernel-mode hooking یا rootkit


البته با تابع GetWindow هم می تونی کل برنامتو مخفی کنی اما فقط اسمش مخفی نمی شه بلکه کلا برنامت مخفی می شه