PDA

View Full Version : سوال: جلوگیری خروج از نرم افزار



mmssoft
چهارشنبه 19 تیر 1392, 16:04 عصر
سلام
من میخوام برنامه ای بنویسم که وقتی کاربر روی دکمه ضربدر بالای فرم کلیک میکنه و میخواد از برنامه خارج بشه ازش پسورد بخواد و در صورت صحیح بودن اجازه خروج داده بشه. در کل منظورم محدود کردن خروج از نرم افزار هست. چه روشی برای این کار در VB6 وجود داره؟؟
ممنون میشم سورس کد بذارید

miladatashin
چهارشنبه 19 تیر 1392, 16:07 عصر
تو رویداد unload فرم بنویس
Cancel = 1

raminshahmoradi
چهارشنبه 19 تیر 1392, 16:52 عصر
سلام
میتونی اصلا کلید خروج رو غیر فعال کنی

mmssoft
چهارشنبه 19 تیر 1392, 17:34 عصر
تو رویداد unload فرم بنویس
Cancel = 1

ممنون دوست عزیز. خیلی خوب بود
یه سوال دیگه. در این صورت کاربر میتونه تو task manager برنامه رو ببنده (end task) یا تو لیست پروسه ها کلا End Process کنه. برای جلوگیری از این هم راهی هست؟؟
مثلا نشون ندادن برنامه در لیست پروسه ها!!
ممنون

mtn677
چهارشنبه 19 تیر 1392, 17:41 عصر
سلام
میتونی همان طور که دوستمون گفتن توی رویداد unload فرم بنویسی:
Cancel = 1
بعد خودت یک گزینه close ایجاد کنی که وقتی روش کلیک کنی ازت پسورد بخواد . در صورت درست بودن خارج بشه.

miladatashin
چهارشنبه 19 تیر 1392, 17:42 عصر
ممنون دوست عزیز. خیلی خوب بود
یه سوال دیگه. در این صورت کاربر میتونه تو task manager برنامه رو ببنده (end task) یا تو لیست پروسه ها کلا End Process کنه. برای جلوگیری از این هم راهی هست؟؟
مثلا نشون ندادن برنامه در لیست پروسه ها!!
ممنون

بله با end task بسته میشه. برای نشون دادن تو taskmanager هم تو سایت سرچ کنید. نمونه برنامه های تروجان ها تو سایت زیاده اگه پیدا نکردین بفرمایید کدش رو بزارم

mmssoft
چهارشنبه 19 تیر 1392, 20:32 عصر
سلام
میتونی همان طور که دوستمون گفتن توی رویداد unload فرم بنویسی:
Cancel = 1
بعد خودت یک گزینه close ایجاد کنی که وقتی روش کلیک کنی ازت پسورد بخواد . در صورت درست بودن خارج بشه.

مرسی دوست عزیز؛ ولی با این مورد مشکلی نداشتم. مشکلم این بود که میشه با task manager برنامه رو بست!!

mmssoft
چهارشنبه 19 تیر 1392, 20:46 عصر
بله با end task بسته میشه. برای نشون دادن تو taskmanager هم تو سایت سرچ کنید. نمونه برنامه های تروجان ها تو سایت زیاده اگه پیدا نکردین بفرمایید کدش رو بزارم

هم با end task بسته میشه و هم میشه تو پروسس، برنامه رو بست. اگه میشه کدی رو بذارین که کلا برنامه رو نشون نده. قبلا یه جا دیده بودم؛ ولی هر چی میگردم پیدا نمی کنم

m.4.r.m
چهارشنبه 19 تیر 1392, 23:32 عصر
نمیتونی این کار رو بکنی و کار شما نیست می دونی چرا باید سرویس بنویسی برای ویندوز که اون سرویس enable = True باشه تا اجازه نده از task manager برنامه رو ببندی . بیخیال شی بهتره

mmssoft
پنج شنبه 20 تیر 1392, 10:53 صبح
هیج راه دیگه ای وجود نداره؟؟؟

miladatashin
پنج شنبه 20 تیر 1392, 11:04 صبح
هیج راه دیگه ای وجود نداره؟؟؟
میشه تو برنامه به محض اینکه کاربر taskmanger رو باز کرد توسط برنامه ییندینش ولی ممکنه بعضی انتی ویروس ها برنامه شما رو ویروس تشخیص بدن و البته برای این کار در ویندوز 7 یا 8 باید برنامه run as admin اجرا بشه
یک راه دیگه هم این هست که یک برنامه دیگه بنویسید که هم همزمان با برنامه اصلی اجرا بشه و چک کنه تا به محض اینکه برنامه بسته شد دوباره اجراش کنه. بعضی از ویروس ها از این روش استفاده میکنند

mmssoft
پنج شنبه 20 تیر 1392, 12:07 عصر
میشه تو برنامه به محض اینکه کاربر taskmanger رو باز کرد توسط برنامه ییندینش ولی ممکنه بعضی انتی ویروس ها برنامه شما رو ویروس تشخیص بدن و البته برای این کار در ویندوز 7 یا 8 باید برنامه run as admin اجرا بشه
یک راه دیگه هم این هست که یک برنامه دیگه بنویسید که هم همزمان با برنامه اصلی اجرا بشه و چک کنه تا به محض اینکه برنامه بسته شد دوباره اجراش کنه. بعضی از ویروس ها از این روش استفاده میکنند

نرم افزار من نه نرم افزار امنیتی هست و نه ویروس یه نرم افزار کاربردی هستش که روش دوم رو به هیچ وجه نمیتونم توش اجرا کنم و روش اول هم فکر نکنم جالب در بیاد! دلیل نمیشه که چون کاربر داره از برنامه من استفاده میکنه نتونه به task manager دسترسی داشته باشه!!
من خودم هم از چند جا که پرسیدم گفتن به صورت کلی روش ساده و مشخصی برای این کار وجود نداره و سورس هایی هم که تو نت پیدا کردم برای ویندوز 7 جواب نمیداد!!

m.4.r.m
پنج شنبه 20 تیر 1392, 13:59 عصر
برادر باید از سرویس نویسی استفاده کنی برو نت دنبال آموزش نوشتن سرویس باش تو ویژوال بیسیک کامپوننت هم براش هست بگردی پیدا می کنی

miladatashin
پنج شنبه 20 تیر 1392, 14:27 عصر
برادر باید از سرویس نویسی استفاده کنی برو نت دنبال آموزش نوشتن سرویس باش تو ویژوال بیسیک کامپوننت هم براش هست بگردی پیدا می کنی
البته سرویس ها رو هم یوزر راحت میتونه ببنده

m.4.r.m
پنج شنبه 20 تیر 1392, 15:36 عصر
بلی ولی هر یوزری نه شما میتونی از راه های زیادی هم استفاده کنی از فروم های خارجی استفاده کن شاید به جواب برسی

m.4.r.m
پنج شنبه 20 تیر 1392, 15:48 عصر
من برات پیدا کردم اما آنتی ویروس بهش گیر میده ببین می تونی درستش کنی ازش استفاده کن . این برنامه پروسس شما رو از تکس منیجر پنهان خواهد کرد

m.4.r.m
پنج شنبه 20 تیر 1392, 15:55 عصر
یه جا هم خوندم که گفته بودن باید از Hook استفاده کنی و یه hook بنویسی .

mmssoft
پنج شنبه 20 تیر 1392, 15:59 عصر
من برات پیدا کردم اما آنتی ویروس بهش گیر میده ببین می تونی درستش کنی ازش استفاده کن . این برنامه پروسس شما رو از تکس منیجر پنهان خواهد کرد

مرسی دوست عزیز، ولی وقتی میخواد پروسه رو مخفی کنه ارور میده و میگه the class has not been initialized
در مورد dll هم درست میگین، آنتی ویروس بهش گیر بده، ولی از اون گذاشته اصلا کار نمیکنه با توجه به ارور بالا!!

mmssoft
پنج شنبه 20 تیر 1392, 15:59 عصر
یه جا هم خوندم که گفته بودن باید از Hook استفاده کنی و یه hook بنویسی .

منم تو سرچ ها به همچین چیزی رسیدم؛ ولی با hook آشنایی ندارم...

m.4.r.m
جمعه 21 تیر 1392, 00:28 صبح
کار می کنه من تست کردم آنتی ویروس رو غیر فعال کن Id process و ... رو درست وارد کن hide می کنه فکر نمی کنم مشکلی داشته باشه

m.4.r.m
جمعه 21 تیر 1392, 01:32 صبح
ببین این جواب نمیده ؟

mehran901
جمعه 21 تیر 1392, 12:25 عصر
مرسی دوست عزیز؛ ولی با این مورد مشکلی نداشتم. مشکلم این بود که میشه با task manager برنامه رو بست!!

متاسفانه در 7 نمیتونین از این روش استفاده کنین ولی در ورژن های قبلی میتونین برای بسته نشدن فایل اجراییتون توسط task manager اسم فایل اجرایی رو هم نام با سرویس های حساس سیستم قرار بدین مثلا smss csrss ...

وقتی توسط تسک منیجر بخواد بسته بشه اون رو سرویس های سیستمی قلمداد میکنه و نمیذاره بسته بشه ولی واسه سون بهترین راه که همیشه میتونه جواب بده نوشتن ی برنامه کمکی هست که درصورت بسته شدن برنامه رو باز کنه باز ،

mehran901
جمعه 21 تیر 1392, 12:32 عصر
ببین این جواب نمیده ؟

سلام ، این سورس اصلا نمیتونه درست کارکنه هرچند که این ماژول کلا در سون کارایی نداره ، شما میبایست تابع HideCurrentProcess رو در داخل تایمر اجرا کنین تا در ویندوز هایی مثل اکس پی کار کنه