PDA

View Full Version : سوال: اجرای برنامه با اجرای برنامه های ویندوز



Apache66
شنبه 18 خرداد 1387, 13:42 عصر
سلام
می خواستم ببینم چگونه میشه با لود شدن یکی از برنامه های ویندوز برنامه من هم لود شود . مثلا هرگاه My computer ظاهر شد برنامه من هم لود شود. :متفکر:

با تشکر

r0ot$harp
شنبه 18 خرداد 1387, 16:20 عصر
دوست عزيز از اينكه كدوم قسمت از ريجستري هست اطلاعي تدارم ولي مي دونم در ريجستري يه قسمتي هست كه همه ي ويروس نويسان در آن قسمت آدرس فايل اجرايي خود را مي دهند و وقتي هر قسمتي كه انتخاب كردن اجرا بشه برنامه ي شما هم اجرا مي شه . اگه پيدا كردم مي زارم اينجا .

باتشكر

vbhamed
شنبه 18 خرداد 1387, 22:43 عصر
سلام

راهش اينه كه يك برنامه كوچيك بزاريد تو حافظه، يعني اول ويندوز اجرا بشه و تو اون برنامه عناوين نرم افزارهايي رو كه مي خوايد با اجراي اونا برنامتون اجرا بشه رو در يك تايمر با استفاده از تابع FindWindow كه از توابع Api هست پيدا كنيد
اگر چيزي پيدا شد حالا نرم افزار اصليتون رو اجرا كنيد

Apache66
یک شنبه 19 خرداد 1387, 13:19 عصر
سلام

راهش اينه كه يك برنامه كوچيك بزاريد تو حافظه، يعني اول ويندوز اجرا بشه و تو اون برنامه عناوين نرم افزارهايي رو كه مي خوايد با اجراي اونا برنامتون اجرا بشه رو در يك تايمر با استفاده از تابع FindWindow كه از توابع Api هست پيدا كنيد
اگر چيزي پيدا شد حالا نرم افزار اصليتون رو اجرا كنيد

سلام دوست عزیز
می تونی یک مثال برایم بزنی . اینطوری بهتر می فهمم

مهران رسا
یک شنبه 19 خرداد 1387, 13:30 عصر
سلام

راهش اينه كه يك برنامه كوچيك بزاريد تو حافظه، يعني اول ويندوز اجرا بشه


سلام .

خوب اگه قرار باشه از Startup استفاده کنیم چه نیازی هست که بیایم پنجره ها رو چک کنیم .؟!!!!

فکر کنم منظور ایشون اینه که حتی در صورت نداشتن پروسه پشتیبان هم بتونیم با اجرا شدن هر فایلی در ویندوز ، برنامه خودمونو هم اجرا کنیم .

و راه کلی اون دقیقاً همون چیزی که sanaz13x گفتند .

r0ot$harp
یک شنبه 19 خرداد 1387, 13:44 عصر
سلام .

خوب اگه قرار باشه از Startup استفاده کنیم چه نیازی هست که بیایم پنجره ها رو چک کنیم .؟!!!!

فکر کنم منظور ایشون اینه که حتی در صورت نداشتن پروسه پشتیبان هم بتونیم با اجرا شدن هر فایلی در ویندوز ، برنامه خودمونو هم اجرا کنیم .

و راه کلی اون دقیقاً همون چیزی که sanaz13x گفتند .

درست طبق گفته ي دوستمون همين راهي كه گفتم بيشتر ويروس نويسان استفاده مي كنند و اينم بگم كه شما براي كار با FindWindow بايد اونو در تايمري بزارين كه حداقل Interval اون 10 باشه كه پنجره ها رو بتونه پيدا كنه ولي من قبلابرنامه اي گرفتم كه هنوز پيداش نكردم اون با ريجستري اين كار رو انجام مي داد .

باتشكر

مهران رسا
یک شنبه 19 خرداد 1387, 13:53 عصر
اگه لطف کنین این برنامه رو پیدا کنین و قرار بدین خیلی ممنون میشم .

من خودم یه چیزایی فهمیدم ولی کارایی نداره . برای مثال میدونم که مسیر برنامه باید در کلید Command مربوط به فایل های exe نوشته بشه . ولی چه جوریشو نمیدونم ...

tizhoosh
یک شنبه 19 خرداد 1387, 14:50 عصر
ميتواني از اين استفاده كني
البته بايد آن را در استارت آپ بگذاري
در مثالي كه نوشتم با باز شدن task manager برنامه ظاهر مي شود
http://www.zom.ir/files/1sro0l5vd97ug5gk7ctu.zip (http://www.zom.ir/files/1sro0l5vd97ug5gk7ctu.zip)
اين هم در يك سرور ديگر
http://rapidshare.com/files/120945790/pixel.zip.html

r0ot$harp
دوشنبه 20 خرداد 1387, 23:10 عصر
دوست عزیز هنوز برنامه ی این کار رو که با ریجستری هست رو پیدا نکردم ولی با هندل برات می زارم .

soheil_programmer
سه شنبه 21 خرداد 1387, 00:04 صبح
سلام
بچه ها من یه نظریه دارم خواهشن نظرتون را بگید:
همونطور که میدونید در هنگام لود ویندوز یک سری برنامه ها اجرا میشه حالا اگه برنامه ما بیاد یکی از اون پیش پا افتاده هاشونو نشون کنه و اونو End Task کنه و خودشو بجای اون قرار بده و فایل اصلی را Rename کرده و بعد از اجرای خودش اجرا کنه؛ این چطوره و تا چه حد عملی؟؟
یعنی ویندوز هر دفعه اشتباهاً برنامه ما را اجرا می کند و برنامه ما نیز برای جلوگیری از شک برانگیز شدن قضیه برنامه اصلی ویندوز را اجرا می کند.

r0ot$harp
سه شنبه 21 خرداد 1387, 00:24 صبح
سلام
بچه ها من یه نظریه دارم خواهشن نظرتون را بگید:
همونطور که میدونید در هنگام لود ویندوز یک سری برنامه ها اجرا میشه حالا اگه برنامه ما بیاد یکی از اون پیش پا افتاده هاشونو نشون کنه و اونو End Task کنه و خودشو بجای اون قرار بده و فایل اصلی را Rename کرده و بعد از اجرای خودش اجرا کنه؛ این چطوره و تا چه حد عملی؟؟
یعنی ویندوز هر دفعه اشتباهاً برنامه ما را اجرا می کند و برنامه ما نیز برای جلوگیری از شک برانگیز شدن قضیه برنامه اصلی ویندوز را اجرا می کند.

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

مهران رسا
سه شنبه 21 خرداد 1387, 09:16 صبح
سلام
بچه ها من یه نظریه دارم خواهشن نظرتون را بگید:
همونطور که میدونید در هنگام لود ویندوز یک سری برنامه ها اجرا میشه حالا اگه برنامه ما بیاد یکی از اون پیش پا افتاده هاشونو نشون کنه و اونو End Task کنه و خودشو بجای اون قرار بده و فایل اصلی را Rename کرده و بعد از اجرای خودش اجرا کنه؛ این چطوره و تا چه حد عملی؟؟
یعنی ویندوز هر دفعه اشتباهاً برنامه ما را اجرا می کند و برنامه ما نیز برای جلوگیری از شک برانگیز شدن قضیه برنامه اصلی ویندوز را اجرا می کند.

فایل های مهمی که توسط ویندوز پشتیبانی و در زمان بالا اومدن ویندوز اجرا میشن رو نمی تونید تغییر نام بدید یا اونها رو حذف کنید . و یا در صورت حذف شدن دوباره احیا میشن .

می تونی امتحان کنی . taskmgr.exe رو از system32 پاک کن و Alt+Ctrl+Delete رو بزن ، میبینی که فایل مذکور دوباره ساخته میشه !

xxxxx_xxxxx
یک شنبه 30 تیر 1387, 08:17 صبح
من خودم یه چیزایی فهمیدم ولی کارایی نداره . برای مثال میدونم که مسیر برنامه باید در کلید Command مربوط به فایل های exe نوشته بشه . ولی چه جوریشو نمیدونم ...


مسير دقيقش اينجاست:


HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile\shell\ open\command


كه بايد مقدار Default آن تغيير كند. اگر در آن تنها آدرس فايل موردنظر خودمان را بدهيم تنها همان اجرا مي شود. يعني با اجراي هر فايل exe اي تنها فايل ما اجرا مي شود كه اين خود مورد دارد. من زمان جووني هام هر روز بيشتر از دو ساعت با مقدار Default اين آدرس ور مي رفتم تا بتونم اجراي فايل اصلي رو از دست ندم. اما نشد كه نشد.
بالاخره اين زياد جالب نيست. چون سوال دوستمون چيز ديگه اي هست.



سلام
بچه ها من یه نظریه دارم خواهشن نظرتون را بگید:
همونطور که میدونید در هنگام لود ویندوز یک سری برنامه ها اجرا میشه حالا اگه برنامه ما بیاد یکی از اون پیش پا افتاده هاشونو نشون کنه و اونو End Task کنه و خودشو بجای اون قرار بده و فایل اصلی را Rename کرده و بعد از اجرای خودش اجرا کنه؛ این چطوره و تا چه حد عملی؟؟
یعنی ویندوز هر دفعه اشتباهاً برنامه ما را اجرا می کند و برنامه ما نیز برای جلوگیری از شک برانگیز شدن قضیه برنامه اصلی ویندوز را اجرا می کند.


اين دقيقا هميني هست كه من در همان زمان جووني هام بعد از شكست خوردن در روش قبل بهش رو آوردم.
همونطور كه مي دونيد فايل Explorer.exe همواره در حال اجرا مي باشد. حالا ما هم مون كاري رو مي كنيم كه دوستمون گفت. اما با كمي تفاوت.
به اين صورت كه در مسير زير:


HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon


يك String با نام Shell داريم كه همواره در شروع ويندوز مقدار آن كه Explorer.exe مي باشد اجرا مي شود.
حالا تنها كاري كه ما بايد بكنيم اينه كه بعد از كلمه Explorer.exe يك Space زده و آدرس و نام فايل موردنظر خومون رو مي نويسيم.
از اين به بعد همراه با Explorer.exe فايل ما هم اجرا ميشه.
اين همون روشي بود كه من براي Startup ويروس هام استفاده مي كردم. (البته براي ويروس هيچ گاه نبايد به يك مسير اكتفا كرد)

در كل من اينو پيشنهاد مي كنم:



Private Declare Function FindWindowA Lib "user32.dll" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub Form_Load()
Dim Reg As Object
Me.Hide
Set Reg = CreateObject("wscript.shell")
Reg.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell", "Explorer.exe " & """" & App.Path & "\" & App.EXEName & ".exe" & """"
Timer1.Interval = 500
End Sub

Private Sub Timer1_Timer()
a = FindWindowA(vbNullString, "Registry Editor")
If a <> 0 Then Me.Show
End Sub


interval تايمر هم 500 تا 1000 درنظر بگيريد كافيه
ولي همون طور كه مي بينيد به Caption پنجره سوژه نياز داريم. كه اينجا Registry Editor هست.