PDA

View Full Version : پنهان کردن برنامه از لیست Run و Process



Bahram0110
شنبه 12 فروردین 1385, 18:28 عصر
با سلام و تبریک سال نو

من در حال طراحی برنامه ای برای مدیریت ویندوز های NT و 9X هستم ولی مشکلی که دارم این است که کاربر می تواند برنامه را از قسمت Run در Regedit حذف کند یا آن را از قسمت پروسه های فعال ویندوز NT حذف کند
البته قسمت اول مهم تر است

لطفا اگه کسی در این رابطه می تونه به من کمک کنه به من پیام یا میل بفرستد
در ضمن نسخهء نمایشی از برنامه رو چند روز دیگه Upload می کنم

محمد میرمصطفی
یک شنبه 13 فروردین 1385, 22:53 عصر
تبدیلش کن به سرویس.

Bahram0110
سه شنبه 15 فروردین 1385, 18:15 عصر
تبدیلش کن به سرویس.

منظورتو واضح تر بگو لطفا

ابراهیم قانع
پنج شنبه 17 فروردین 1385, 09:59 صبح
تبدیلش کن به سرویس.
خوب عزیزم سرویس ها هم قابل غیر فعال کردن هستند تنها راهی که هست اضافه کردن برنامه به داخل برنامه های خود ویندوز میباشد مثل کاری که ویروس ها میکنند. ولی من تا بهحال نفهمیدم اینکار را چگونه میکنند.

Youness
جمعه 18 فروردین 1385, 00:00 صبح
شما میتونید از توابع ای پی آی استفاده کنید

ابراهیم قانع
شنبه 19 فروردین 1385, 09:01 صبح
lotfan bishtar tozih bedid
ba tashakor

hgkhatir
شنبه 19 فروردین 1385, 09:32 صبح
شما می‌توانید در هنگام اجرای برنامه بعضی از توابع ویندوز از جمله حذف پروسس و رجیستری را disable کنید. برای اطلاعات بیشتر در گوگل و یا MSDN کلمه Hook را جستجو کنید.

Bahram0110
یک شنبه 20 فروردین 1385, 18:16 عصر
شما میتونید از توابع ای پی آی استفاده کنید
خیلی زحمت کشیدی

Payman62
سه شنبه 22 فروردین 1385, 22:28 عصر
تبدیلش کن به سرویس.
موقع ران کردن سرویس برنامه باید به ران کننده جواب بده. شما میدونید چه طور این کار عملیه؟

Youness
چهارشنبه 13 اردیبهشت 1385, 11:33 صبح
شما میتوانید از تابع زیر استفاده کنید
registeserviceprocess
که یادمنیست در چه فایلی هست ولی اینو میدونم که فقط در win98 به قبل جواب میده
اگه اطلاعات بیشتری میخواین در گوگل به دنبال نرم افزار apiguide بگردیدمیتونه کمکتون کنه
البته اگه الان دیگه لازم داشته باشیدخداحافظ:متفکر:

e_programmer
پنج شنبه 23 شهریور 1385, 20:18 عصر
خب چه جوری

Bahram0110
شنبه 28 بهمن 1385, 09:37 صبح
(; :

zerobit-ltd
شنبه 28 بهمن 1385, 10:41 صبح
کد زیر این کارو واست انجام می ده. فقط توجه داشته باش که NT به بالا جواب نمی ده.


Private Const TH32CS_SNAPPROCESS = &H2

Private Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32ModuleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szExeFile As String * 260
End Type

Private Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long
Private Declare Function CreateToolhelp32Snapshot Lib "kernel32.dll" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long
Private Declare Function Process32First Lib "kernel32.dll" (ByVal hSnapshot As Long, Uprocess As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "kernel32.dll" (ByVal hSnapshot As Long, Uprocess As PROCESSENTRY32) As Long
Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long
----------------------------------------------------------------------------------------------------
Private Sub Remove_Program_From_TaskMgr()
Dim Info As PROCESSENTRY32
Dim RetList As Long, FirstEXEProg As Long, Retval As Long
Dim EXEName As String

RetList = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
Info.dwSize = Len(Info)
FirstEXEProg = Process32First(RetList, Info)
If RetList <> -1 Then
While FirstEXEProg <> 0
With Info
EXEName = Left(.szExeFile, InStr(.szExeFile, Chr(0)) - 1)
If InStr(LCase(EXEName), "Program Name") <> 0 Then
On Error GoTo EXT:
RegisterServiceProcess .th32ProcessID, 1
EXT:
End If
.dwSize = Len(Info)
FirstEXEProg = Process32Next(RetList, Info)
End With
Wend
End If
CloseHandle RetList
End Sub

Bahram0110
شنبه 28 بهمن 1385, 16:48 عصر
کد زیر این کارو واست انجام می ده. فقط توجه داشته باش که NT به بالا جواب نمی ده.


Private Const TH32CS_SNAPPROCESS = &H2

Private Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32ModuleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szExeFile As String * 260
End Type

Private Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long
Private Declare Function CreateToolhelp32Snapshot Lib "kernel32.dll" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long
Private Declare Function Process32First Lib "kernel32.dll" (ByVal hSnapshot As Long, Uprocess As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "kernel32.dll" (ByVal hSnapshot As Long, Uprocess As PROCESSENTRY32) As Long
Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long
----------------------------------------------------------------------------------------------------
Private Sub Remove_Program_From_TaskMgr()
Dim Info As PROCESSENTRY32
Dim RetList As Long, FirstEXEProg As Long, Retval As Long
Dim EXEName As String

RetList = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
Info.dwSize = Len(Info)
FirstEXEProg = Process32First(RetList, Info)
If RetList <> -1 Then
While FirstEXEProg <> 0
With Info
EXEName = Left(.szExeFile, InStr(.szExeFile, Chr(0)) - 1)
If InStr(LCase(EXEName), "Program Name") <> 0 Then
On Error GoTo EXT:
RegisterServiceProcess .th32ProcessID, 1
EXT:
End If
.dwSize = Len(Info)
FirstEXEProg = Process32Next(RetList, Info)
End With
Wend
End If
CloseHandle RetList
End Sub


خیلی عذر می خوام مگه ویندوز 98 هم دیگه گیر میاد؟

zerobit-ltd
شنبه 28 بهمن 1385, 17:32 عصر
بابایی، اول اینو زدی!


من در حال طراحی برنامه ای برای مدیریت ویندوز های NT و 9X هستم ولی مشکلی که دارم این است که کاربر می تواند برنامه را از قسمت Run در Regedit حذف کند یا آن را از قسمت پروسه های فعال ویندوز NT حذف کند
البته قسمت اول مهم تر است

لطفا اگه کسی در این رابطه می تونه به من کمک کنه به من پیام یا میل بفرستد
در ضمن نسخهء نمایشی از برنامه رو چند روز دیگه Upload می کنم


بعدشم اینو گفتی:

خیلی عذر می خوام مگه ویندوز 98 هم دیگه گیر میاد؟
خوب حالا چی می گی؟
اگه ویندوز 98 دیگه گیر نمیاد، پس چرا داری واسش برنامه می نویسی؟
البته من یه اشتباه کردم. اون کدی که گذاشتم رو 2000 هم جواب می ده.

Bahram0110
یک شنبه 29 بهمن 1385, 09:06 صبح
خوب حالا چی می گی؟
اگه ویندوز 98 دیگه گیر نمیاد، پس چرا داری واسش برنامه می نویسی؟
البته من یه اشتباه کردم. اون کدی که گذاشتم رو 2000 هم جواب می ده.

الان اکثرا همهء کاربرا از ایکس پی استفاده می کنند.!!
حالا ما گفتیم 98 ؛ ولی دیگه اکثر برنامه ها برای سازگاری با ایکس پی نوشته می شن!
ولی من از حرفی که زدم رسما عذر می خوام!

MM_Mofidi
یک شنبه 29 بهمن 1385, 14:51 عصر
شما از GP(group police)هم متوانید استفاه کنید

romina2006
یک شنبه 29 بهمن 1385, 17:11 عصر
hide_process :

tiktikboom
یک شنبه 29 بهمن 1385, 21:15 عصر
من یه برنامه در این مورد نوشته بودم که البته به شیوه خودم رفع رجوع کردم مشکلش رو
به این صورت که عنوان برنامه ها رو با استفاده از توابع Apiبدست می اوردم بعد اگه به نام Regedit یا Taskیا یه چیزی توی این مایه ها داشت پنجره اون برنامه رو می بست . درست مثل کاری که ویروس Newfolder انجام میده
البته این کار اصولی نیست و اگر عزیزان پیشنهاد بهتری دارند ارائه بدن

Bahram0110
دوشنبه 30 بهمن 1385, 09:27 صبح
دوست عزیز من اصلا این کارو پیشنهاد نمی کنم
دلیلش هم این فایلیه که می زارم
(از روشی که شما می گین رد میشه)

Bahram0110
جمعه 04 اسفند 1385, 10:27 صبح
hide_process :
ایدهء جالبیه
ولی بازم برای کاربرای حرفه ای جواب نمی ده!