امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
یه سوال در مورد Process
نویسنده پیام
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #12
RE: یه سوال در مورد Process
(۰۹-فروردین-۱۳۸۸, ۲۱:۵۵:۲۹)shedayat نوشته است: راستش من مي خوام يه ويروس بنويسم که حاوي دو تا فايل باشه.هر کدوم اون يکي رو چک کنه که اگه اون فايل نبود دوباره اجراش کنه حالا مي خوام بدونم که چجوري بايد بفهمم يعني با چه تابعي بفهمم که برنامه مورد نظر من در ليست Process هست يا نه. ( امیدوارم که متوجه شده باشی)Shy
سلام.
بهتر بود ابتدا مشکلت رو به همین صورت مطرح میکردی و بحث رو منحرف نمیکردی.
در مورد این مشکل شما اصلا روشی که انتخاب کردی منطقی و اصولی نیست. فرض 2 تا پروسه با نام های a.exe و b.exe داری که در هر کدوم در هر ثانیه 10 بار هم دیگه رو چک میکنن. درسته سرعت عمل انسان اون قدر نیست که در تسک منیجر این 2 پروسه در میلی ثانیه ببنده. ولی به راحتی با مراجعه به command prompt و استفاده از دستور tskill میشه 2 پروسه رو در میلی ثانیه بست. پس این روش رو به راحتی میشه دور زد.

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

در مورد روش خودت. چک کردن پروسس لیست منطقی نیست. چون در اون صورت باید یه اسم تابلو بذاری که تکراری نباشه. شما بهتره از روش چک کردن برنامه از روی کپشنش استفاده کنی. یه کپشن تک برای برنامت بذار و همین کپشن رو با findwindow چک کن. اگه نبود برنامت رو دوباره اجرا کن.
البته هر کپشنی بذاری میتونه تکراری بشه و راه بهتر باز هم روشیه که مبین جان اشاره کردن. چک کردن از روی هندل ها که 100% یکتاست.
ولی شما بهتره از همین روش کپشن استفاده کنی. میتونی کپشنی بذاری که احتمال تکراری بودن رو بیاری پایین.

این هم کد چک کردن وجود داشتن پنجره مورد نظرت.
کد:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Dim lngRes As Long
lngRes = FindWindow(vbNullString, "Windows Task Manager")
If lngRes = 0 Then Shell "FileAdrs"
(آخرین ویرایش در این ارسال: ۱۰-فروردین-۱۳۸۸, ۰۴:۱۰:۲۷، توسط Payman62.)
۱۰-فروردین-۱۳۸۸, ۰۴:۰۷:۲۸
ارسال‌ها
پاسخ
تشکر شده توسط : shedayat
shedayat آفلاین
كاربر دو ستاره
**

ارسال‌ها: 101
موضوع‌ها: 22
تاریخ عضویت: فروردین ۱۳۸۸

تشکرها : 62
( 51 تشکر در 38 ارسال )
ارسال: #13
RE: یه سوال در مورد Process
(۱۰-فروردین-۱۳۸۸, ۰۴:۰۷:۲۸)Payman62 نوشته است:
(۰۹-فروردین-۱۳۸۸, ۲۱:۵۵:۲۹)shedayat نوشته است: راستش من مي خوام يه ويروس بنويسم که حاوي دو تا فايل باشه.هر کدوم اون يکي رو چک کنه که اگه اون فايل نبود دوباره اجراش کنه حالا مي خوام بدونم که چجوري بايد بفهمم يعني با چه تابعي بفهمم که برنامه مورد نظر من در ليست Process هست يا نه. ( امیدوارم که متوجه شده باشی)Shy
سلام.
بهتر بود ابتدا مشکلت رو به همین صورت مطرح میکردی و بحث رو منحرف نمیکردی.
در مورد این مشکل شما اصلا روشی که انتخاب کردی منطقی و اصولی نیست. فرض 2 تا پروسه با نام های a.exe و b.exe داری که در هر کدوم در هر ثانیه 10 بار هم دیگه رو چک میکنن. درسته سرعت عمل انسان اون قدر نیست که در تسک منیجر این 2 پروسه در میلی ثانیه ببنده. ولی به راحتی با مراجعه به command prompt و استفاده از دستور tskill میشه 2 پروسه رو در میلی ثانیه بست. پس این روش رو به راحتی میشه دور زد.

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

در مورد روش خودت. چک کردن پروسس لیست منطقی نیست. چون در اون صورت باید یه اسم تابلو بذاری که تکراری نباشه. شما بهتره از روش چک کردن برنامه از روی کپشنش استفاده کنی. یه کپشن تک برای برنامت بذار و همین کپشن رو با findwindow چک کن. اگه نبود برنامت رو دوباره اجرا کن.
البته هر کپشنی بذاری میتونه تکراری بشه و راه بهتر باز هم روشیه که مبین جان اشاره کردن. چک کردن از روی هندل ها که 100% یکتاست.
ولی شما بهتره از همین روش کپشن استفاده کنی. میتونی کپشنی بذاری که احتمال تکراری بودن رو بیاری پایین.

این هم کد چک کردن وجود داشتن پنجره مورد نظرت.
کد:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Dim lngRes As Long
lngRes = FindWindow(vbNullString, "Windows Task Manager")
If lngRes = 0 Then Shell "FileAdrs"


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

...یادمان باشد که زنگ تفریح دنیا همیشگی نیست. زنگ بعد حساب داریم...
۱۰-فروردین-۱۳۸۸, ۰۹:۵۶:۴۱
ارسال‌ها
پاسخ
shedayat آفلاین
كاربر دو ستاره
**

ارسال‌ها: 101
موضوع‌ها: 22
تاریخ عضویت: فروردین ۱۳۸۸

تشکرها : 62
( 51 تشکر در 38 ارسال )
ارسال: #14
RE: یه سوال در مورد Process
بالاخره درست شد.روش کار من این بود که دو تا فایل یکی به نام services.exe و دیگری رو یه اسمی بهش دادم.حالا فایل اولی هر 1 میلی ثانیه چک می کنه اگه فایل دومی که اسم ویروس هست در حال اجرا نبود اجراش کنه. حالا این services.exe دیگه بسته نمی شه حتی با دستور taskkill . حالا فقط یه مشکل می مونه که اونم اینه که یه کم ضایع می شه که دو تا فایل توی سیستم طرف کپی بشه. حالا من می خواستم ببینم که راهی وجود نداره که دو تا فایل در ابتدا یک فایل باشه و پس از اجرا کردن دو تا بشه. (یعنی یکی services.exeو دیگری اسم ویروس). البته با کدهای متفاوت. یا راهی داره که کدهای مربوط به services.exe خودمون رو به فایل اصلی services.exe سیستم تزریق کنیم. ...................با سپاس فراوان از همه دوستان..............Happy Clap

...یادمان باشد که زنگ تفریح دنیا همیشگی نیست. زنگ بعد حساب داریم...
۱۰-فروردین-۱۳۸۸, ۱۱:۱۰:۰۸
ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #15
RE: یه سوال در مورد Process
(۱۰-فروردین-۱۳۸۸, ۱۱:۱۰:۰۸)shedayat نوشته است: حالا من می خواستم ببینم که راهی وجود نداره که دو تا فایل در ابتدا یک فایل باشه و پس از اجرا کردن دو تا بشه. (یعنی یکی services.exeو دیگری اسم ویروس). البته با کدهای متفاوت. یا راهی داره که کدهای مربوط به services.exe خودمون رو به فایل اصلی services.exe سیستم تزریق کنیم. ...................با سپاس فراوان از همه دوستان..............Happy Clap

شما میتونین 2 تا فایل رو به هم بیند کنین
البته راه دیگه هم وجود که داره پیاده سازیش یه کم دردسره
من یه ویروس کوچولو موچولو نوشتم که این شکلی کار میکنه
2 تا فایل هست 1 خود ویروس 2 محافظش
فایل محافظ به انتهای فایل ویروس چسبیده البته با توابع zlib فشردش کردم وقتی ویروس اصلی اجرا می شه ویروس دوم رو از انتهای فایل بصورت یک stream میخونه یه empty process ایجاد میکنه و اونو مستقیم تو ش load میکنه

دردسر این روش از dll injection هم بیشتره و این تکنیک در exe crypto ها یا packer ها استفاده می شه
(آخرین ویرایش در این ارسال: ۱۰-فروردین-۱۳۸۸, ۱۳:۴۰:۱۹، توسط lord_viper.)
۱۰-فروردین-۱۳۸۸, ۱۳:۳۸:۳۰
وب سایت ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #16
RE: یه سوال در مورد Process
(۱۰-فروردین-۱۳۸۸, ۱۱:۱۰:۰۸)shedayat نوشته است: بالاخره درست شد.روش کار من این بود که دو تا فایل یکی به نام services.exe و دیگری رو یه اسمی بهش دادم.حالا فایل اولی هر 1 میلی ثانیه چک می کنه اگه فایل دومی که اسم ویروس هست در حال اجرا نبود اجراش کنه.
سلام.
از کدوم روش برای پیدا کردن فایل دوم استفاده کردی؟

شما اگه 2 تا فایلت با هم فرق دارن بهترین کار استفاده از ریسورسه. فایل دوم یا چکر رو به صورت ریسورس در فایل اول قرار بده و بعد اجرا اکسترکت کن رو هارد و اجراش کن.
۱۰-فروردین-۱۳۸۸, ۱۵:۴۵:۰۸
ارسال‌ها
پاسخ
shedayat آفلاین
كاربر دو ستاره
**

ارسال‌ها: 101
موضوع‌ها: 22
تاریخ عضویت: فروردین ۱۳۸۸

تشکرها : 62
( 51 تشکر در 38 ارسال )
ارسال: #17
RE: یه سوال در مورد Process
(۱۰-فروردین-۱۳۸۸, ۱۵:۴۵:۰۸)Payman62 نوشته است:
(۱۰-فروردین-۱۳۸۸, ۱۱:۱۰:۰۸)shedayat نوشته است: بالاخره درست شد.روش کار من این بود که دو تا فایل یکی به نام services.exe و دیگری رو یه اسمی بهش دادم.حالا فایل اولی هر 1 میلی ثانیه چک می کنه اگه فایل دومی که اسم ویروس هست در حال اجرا نبود اجراش کنه.
سلام.
از کدوم روش برای پیدا کردن فایل دوم استفاده کردی؟

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

از روش Find WindowA ! یه اسم خاصی رو به فرمم دادم که به فکر هیچ کس نمی رسه.Smile

می شه در مورد ریسورس یه کم توضیح بدی؟ ....ممنونم....Question

...یادمان باشد که زنگ تفریح دنیا همیشگی نیست. زنگ بعد حساب داریم...
۱۰-فروردین-۱۳۸۸, ۲۲:۰۰:۳۰
ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #18
RE: یه سوال در مورد Process
(۱۰-فروردین-۱۳۸۸, ۲۲:۰۰:۳۰)shedayat نوشته است: از روش Find WindowA ! یه اسم خاصی رو به فرمم دادم که به فکر هیچ کس نمی رسه.Smile

می شه در مورد ریسورس یه کم توضیح بدی؟ ....ممنونم....Question
سلام.
بذار حدس بزنم چه اسمی گذاشتی. اسم فرمتو علیرضا نذاشتی؟
تو اسم فرمت از (0) chr و (1) chr و ... هم استفاده کن که به هیچ عنوان تکراری نشه.

برای استفاده از ریسورس به منوی add in >> add in manager برو و vb6 resource editor رو جلوی لود و آنلود و لود آن استارت آپ تیک بزن. بعد آیکونش به نوار ابزار بالای صفحه اضافه میشه. توسطش میتونی هر فایلی میخوای بکنی تو دل پروژه و بعدا با LOADRESDATA اکسترکتش کنی رو هارد.
در موردش سرچ کن مطلب بیشتری گیرت میاد.
۱۱-فروردین-۱۳۸۸, ۰۳:۲۰:۱۳
ارسال‌ها
پاسخ
shedayat آفلاین
كاربر دو ستاره
**

ارسال‌ها: 101
موضوع‌ها: 22
تاریخ عضویت: فروردین ۱۳۸۸

تشکرها : 62
( 51 تشکر در 38 ارسال )
ارسال: #19
RE: یه سوال در مورد Process
(۱۱-فروردین-۱۳۸۸, ۰۳:۲۰:۱۳)Payman62 نوشته است: برای استفاده از ریسورس به منوی add in >> add in manager برو و vb6 resource editor رو جلوی لود و آنلود و لود آن استارت آپ تیک بزن. بعد آیکونش به نوار ابزار بالای صفحه اضافه میشه. توسطش میتونی هر فایلی میخوای بکنی تو دل پروژه و بعدا با LOADRESDATA اکسترکتش کنی رو هارد.
در موردش سرچ کن مطلب بیشتری گیرت میاد.

سلام .
من در موردش زیاد گشتم ولی چیز به درد بخوری پیدا نکردم. (دو مقدار id و Type داره که نمی دونم چیه!). اگه می شه توضیحش رو اینجا بذار یا لینکش رو بده.
دستت درد نکنه 006 026

...یادمان باشد که زنگ تفریح دنیا همیشگی نیست. زنگ بعد حساب داریم...
(آخرین ویرایش در این ارسال: ۱۱-فروردین-۱۳۸۸, ۰۹:۵۵:۵۶، توسط shedayat.)
۱۱-فروردین-۱۳۸۸, ۰۹:۵۲:۲۵
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سوال در مورد ماژول وینساک gachboy 5 4,476 ۲۲-بهمن-۱۳۹۲, ۱۷:۴۳:۵۲
آخرین ارسال: gachboy
  سوال در مورد بدست آوردن سورس Hacker_2010 7 6,056 ۰۵-مرداد-۱۳۹۲, ۰۰:۵۴:۵۰
آخرین ارسال: babyy
  [سوال] یک سوال در مورد بانک اطلاعاتی ترانسپورتر 10 7,734 ۳۱-تير-۱۳۹۲, ۲۰:۱۲:۰۹
آخرین ارسال: Ghoghnus
  سوال در مورد کنترل Webbrowser Cr4ShD4Y 2 3,011 ۱۶-تير-۱۳۹۲, ۱۱:۴۱:۰۹
آخرین ارسال: kimiafars
  سوال در مورد کریستال ریپورت؟؟ ahp_online 1 3,018 ۲۵-خرداد-۱۳۹۲, ۱۰:۰۷:۱۷
آخرین ارسال: Ghoghnus
Sad سوال در مورد ارسال پی ام در یاهو مسنجر blackhacking21 6 5,269 ۱۷-فروردین-۱۳۹۲, ۱۰:۵۰:۵۱
آخرین ارسال: lord_viper
  [سوال] یک سوال ساده در مورد هندل thinkdiff 1 2,838 ۱۴-فروردین-۱۳۹۲, ۱۳:۱۶:۲۸
آخرین ارسال: Di Di
  مخفی شدن برنامه هم از زبانه ی Process و هم از زبانه ی Application RAMA2009 11 10,651 ۰۷-اردیبهشت-۱۳۹۱, ۰۳:۵۶:۰۹
آخرین ارسال: jalil_m
  unable to terminate process RAMA2009 1 1,657 ۲۱-اسفند-۱۳۹۰, ۰۹:۳۰:۱۳
آخرین ارسال: lord_viper
  سوال در مورد درگ ایتم های لیست ویو sevdaboy 1 2,635 ۲۳-بهمن-۱۳۹۰, ۱۳:۳۰:۳۴
آخرین ارسال: Di Di

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS