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

نام تاپیک: جلوگیری از پایان برنامه در process

  1. #1

    Exclamation جلوگیری از پایان برنامه در process

    من یه برنامه برای سیستمم دارم می نویسم ونباید از طریق برنامه یا ویروسی End process بشه
    می خواستم بدونم کدی هست که جلوی End Process شدن برنامه را بگیرد
    من می تونم برنامه رو از process مخفی کنم ولی بازم راهی هست که End process بشه
    کسی از دوستان می تونه کمکم کنه؟؟؟!
    بعضی از برنامه ها را دیدم که اگر بخوای end process کنی
    یک Error می ده با این عبارت :
    Access is denied
    کسی می دونه دلیلش چیه؟!

  2. #2
    کاربر دائمی آواتار 3dboy1
    تاریخ عضویت
    مهر 1387
    محل زندگی
    اصفهان
    پست
    225

    نقل قول: جلوگیری از پایان برنامه در process

    با سلام
    اين اعمال رو ميتوني با تغيير در رجيستري انجام بدي
    به اين مسير برو تا متوجه بشي :
    Control Panel/Administrative Tools/Component Services

    در اونجا services(local) زو انتخاب كن

    ليست برنامه هايي كه ويندوز اين امكانات رو براشون ميزاره ميبيني و قابل تغيير هستند

    براي بدست آوردن كد در رجيستري هم
    يكي از اين ليست رو تغيير بده بعد در رجيستري دنبالش بگرد

    اما با اين كار باز هم ميشود كه برنامه ها رو قطع كرد

    به نظر من بهتره كه يك برنامه ديگه كنار برنامت بزاري و چك كنه هر زمان كه برنامت نبود دوباره اون رو اجرا كنه

    موفق باشي

  3. #3
    کاربر دائمی آواتار ابوذر محمودی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تربت حیدریه
    پست
    476

    نقل قول: جلوگیری از پایان برنامه در process

    نباید از طریق برنامه یا ویروسی End process بشه
    می خواستم بدونم کدی هست که جلوی End Process شدن برنامه را بگیرد
    من می تونم برنامه رو از process مخفی کنم ولی بازم راهی هست که End process بشه
    بعضی از برنامه ها را دیدم که اگر بخوای end process کنی
    یک Error می ده با این عبارت :
    Access is denied
    سلام.
    این که شما می گید بستگی به این داره که شما از چه نرم افزاری برای بستن برنامه استفاده می کنید. اگه از برنامه task manager ویندوز استفاده می کنید همون مخفی کردن از لیست Processes کافیه در غیر اینصوت اگه از برنامه های Process Manager استفاده می کنید باید بگم این کار عملی نیست ، با این برنامه ها هر پروسه ای رو می تونید ببندید.
    حتی برنامه های rootkit هم شناسایی می شن.
    در کل نمی شه جلوی بستن برنامه ای رو بگیرید ولی می تونید بستن اون رو مشکل تر کنید.
    در مورد پیغام هم اگه حرفه ای باشید شاید تو وی بی هم بتونید از hook برای اینکار استفاده کنید.
    به نظر من بهتره كه يك برنامه ديگه كنار برنامت بزاري و چك كنه هر زمان كه برنامت نبود دوباره اون رو اجرا كنه
    این کار بهتر ، البته شما باید تو این برنامه ها هم مسایل امنیتی بالا رو لحاظ کنید تا کاربر نتونه به این سادگی برنامه رو ببنده و اگه احیانا برنامه بسته شد ، برنامه جایگزین کار خودش رو انجام بده .
    اگه خواستید این کار رو انجام بدین یادتون باشه که همیشه هر دو برنامه باید در حال اجرا باشن.
    یه چیز دیگه هم هست اینه که من تا حالا Process Manager ی رو ندیدم که دو برنامه رو با هم یکجا ببنده پس می تونید فعلا از این نقص استفاده کنید.
    بهتره برنامتون هم نام نباشه که خیلی زود بسته می شن (خودت امتحان کن می بینی)

  4. #4
    کاربر دائمی آواتار .:KeihanCPU:.
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    همین اطراف
    پست
    1,169

    نقل قول: جلوگیری از پایان برنامه در process

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

    اگر واسه برنامت هم پروسه محافظ بذاری باز راه واسه بسته شدن داره.

  5. #5
    کاربر دائمی آواتار REZADG
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    هر جایی که انسان میتونه باشه
    پست
    472

    نقل قول: جلوگیری از پایان برنامه در process

    دوستان برای این که منهرف نشید برنامه دپفرض (Deep Freeze)رو پیدا کنید و نصب کنید تا حرف دوستمون رو بهتر متوجه بشین در ضمن این برنامه خودشه بصورت سیستمی نشون میده که من نتونستم

  6. #6

    نقل قول: جلوگیری از پایان برنامه در process

    .:: بسیار متشکرم که به سوال من رسیدگی کردین ::.
    3dboy1
    به نظر من بهتره كه يك برنامه ديگه كنار برنامت بزاري و چك كنه هر زمان كه برنامت نبود دوباره اون رو اجرا كنه
    این روش رو امتحان کردم ولی به دلیل این که از دستورات api در رابطه با process استفاده می شه برنامه سرعتش کند میشه و نمی تونه در تایمر به خوبی عمل کنه
    virus30ya30
    در کل نمی شه جلوی بستن برنامه ای رو بگیرید ولی می تونید بستن اون رو مشکل تر کنید.
    در مورد پیغام هم اگه حرفه ای باشید شاید تو وی بی هم بتونید از hook برای اینکار استفاده کنید.
    از hook چطور می تونم استفاده کنم یک مثال دارید
    .:KeihanCPU:.
    شما خودت با یه حلقه 10 تا پروسه رو با هم ببند.من خودم واسه از بین بردن ویروسها از این راه استفاده میکنم.
    میشه بگید چطوری این کارو می کنید با استفاده از نرم افزار یا از راه دستی بیشتر توضیح بدین
    در ظمن برنامه باید به زبان اسمبلی باشه تا دسترسی هسته بهش داد
    REZADG
    دوستان برای این که منهرف نشید برنامه دپفرض (Deep Freeze)رو پیدا کنید و نصب کنید تا حرف دوستمون رو بهتر متوجه بشین در ضمن این برنامه خودشه بصورت سیستمی نشون میده که من نتونستم
    آره منظورم همین برنامه و امثال اینه
    این برنامه رو فکر نکنم با Process manager یا حتی قویتر از این هم بشه بست
    ولی در حالتی که نیمه غیر فعال این برنامه رو بستم ولی نه به صورت کامل
    آخرین ویرایش به وسیله good_boy : سه شنبه 10 دی 1387 در 05:56 صبح

  7. #7

    نقل قول: جلوگیری از پایان برنامه در process

    نقل قول نوشته شده توسط .:KeihanCPU:. مشاهده تاپیک
    اگه بخوای برنامت بسته نشه یکی اینه که برنامت دسترسی سطح هسته داشته باشه.
    لطفاً توضیح بدید . چطور می تونیم برای پروسه ها دسترسی در سطح هسته تعریف کنیم ؟

  8. #8

    نقل قول: جلوگیری از پایان برنامه در process

    یه راه خیلی آسونش اینه که اسم برنامه ایت رو services.exe بزارین این اسم به وسیله سیستم عامل حفاظت میشه و توسط تسک منیجر (بعضی از برنامه ها میتونن ببندنش) بسته نمیشه

    این چیزی که گفتم باعث میشه که فرمتون end proccess نشه ولی شما باید خاصیت unload فورمتون هم به صورت زیر قرار بدین تا دیگه اصلا بسته نشه

    Private Sub Form_Unload(Cancel As Integer)
    Cancel = 1
    End Sub

    موفق باشید

  9. #9
    کاربر دائمی آواتار .:KeihanCPU:.
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    همین اطراف
    پست
    1,169

    نقل قول: جلوگیری از پایان برنامه در process

    ابتدا بهتره با مفهوم Operating system kernel اشنا شويد . kernel را بعنوان هسته مركزي سيستم عامل تصور كنين . بخشي از سيستم عامل كه اجزاي ديگر را گرد اوري نموده و مجموعه اي از ويژگيها را توليد مي كند . هر برنامه نويس براي دسترسي به هسته سيستم عامل بايد از يك رابط خاص استفاده نمايد .بسياري از برنامه نويسان اين رابط را API يا Application programming interface مي نامند .
    هنگامي كه برنامه نويس يك برنامه كاربردي براي ويندوز تهيه مي كند در واقع Api را فراخاني مي كند فراخواني َApiيعني درخواست از سيستم عامل براي اجراي يك وظيفه . كد Api در فايل هاي سيستم ظاهر خواهد شد . البته اين نمايي ساده از Api است .ويندوز XP در واقع از دو Api ويندوز استفاده مي كند . يك Api 16 بيتي و يك Api 32 بيتي . هر Api به حالت User mode برنامه هاي كاربردي اجازه مي دهد تا درخواست هايي را از سيستم عامل داشته باشد كه اين درخواستها در حالت Kernel mode جرا مي شوند .
    تفاوتي ندارد كه برنامه هاي كاربرد ي تحت ويندوز شما از كدام Api استفاده مي كنند بهرحال انها از سه مولفه اصلي و هسته اي سيستم عامل استفاده مي كنند . نسخه هاي 16 بيتي اين فايل ها عبارتند از Krnl386.exe . user.exe . Gdi.exe .

    نسخه هاي 32 بيتي اين فايل ها عبارتند از Gdi32.dll .User.dll . kernel32.dll ..برنامه نويسان اين مجموعه فايل هارا Win 32 Api مي نامند
    البته برنامه نويسان از انواع Api براي انجام ساير وظايف استفاده مي كنند . اغلب اوقات فراخاني يك Api زماني رخ مي دهد كه يك برنامه كاربردي در حال اجراي در حالت User mode از يك مولفه سيستم عامل ( كه در حالت kernel اجرا مي شود ) در خواست اجراي وظيفه اي را داشته باشد

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

  10. #10

    نقل قول: جلوگیری از پایان برنامه در process

    نقل قول نوشته شده توسط aminbrleevb مشاهده تاپیک
    یه راه خیلی آسونش اینه که اسم برنامه ایت رو services.exe بزارین این اسم به وسیله سیستم عامل حفاظت میشه و توسط تسک منیجر (بعضی از برنامه ها میتونن ببندنش) بسته نمیشه

    این چیزی که گفتم باعث میشه که فرمتون end proccess نشه ولی شما باید خاصیت unload فورمتون هم به صورت زیر قرار بدین تا دیگه اصلا بسته نشه

    Private Sub Form_Unload(Cancel As Integer)
    Cancel = 1
    End Sub
    موفق باشید
    این هم یک روش برای بستن پروسه هایی با نام های سیستمی :

    Shell "Tskill Services"
    Shell "Tskill Smss"
    Shell "Tskill Lsass"

  11. #11
    VIP آواتار xxxxx_xxxxx
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    X place
    سن
    35
    پست
    4,768

    نقل قول: جلوگیری از پایان برنامه در process

    نقل قول نوشته شده توسط good_boy مشاهده تاپیک
    از hook چطور می تونم استفاده کنم یک مثال دارید
    بحث hook كردن توابع API قبلا پيش امده. مي تونيد جستجو كنيد

    نقل قول نوشته شده توسط .M8SPY. مشاهده تاپیک
    لطفاً توضیح بدید . چطور می تونیم برای پروسه ها دسترسی در سطح هسته تعریف کنیم ؟
    اول از همه بايد ببينيم كه كنترل ويندوز در مد هسته كي و كجا و چه جوري به مد كاربر تبديل ميشه. اون وقت شايد بتونيم يه كاريش بكنيم.
    وقتي سيستم بالا مياد هر سيستم عاملي بر اساس ساختار خودش يك سري فايل هاي سيستمي داره كه اونها رو اجرا مي كنه. تو سيستم عامل ويندوز يكي از اون فايل ها ntldr هست. وظيفه اين فايل انتقال كنترل از مد هسته به مد كاربر هست.
    بقيه شو خود دانيد ...

    نقل قول نوشته شده توسط aminbrleevb مشاهده تاپیک

    ...
    ولی شما باید خاصیت unload فورمتون هم به صورت زیر قرار بدین تا دیگه اصلا بسته نشه

    Private Sub Form_Unload(Cancel As Integer)
    Cancel = 1
    End Sub
    task kill شدن يك پروسه يعني بسته شدن برنامه به طور غير عادي. و رويداد unload در اين حالت اتفاق نمي افته و برنامه بسته ميشه.
    ولي گذاشتن نام services ايده خوبي بود. بخصوص اگر اون رو تو ليست پروسس هاي system قرار بديم.
    الگوریتم هایی که تاریخچه خود را فراموش می کنند، محکوم به تکرار آن هستند.

  12. #12

    نقل قول: جلوگیری از پایان برنامه در process

    واقعا از همتون ممنونم. شما باعث میشید که علم خیلی از برنامه نویسای نوپایی مثل من زیاد بشه.

برچسب های این تاپیک

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

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