PDA

View Full Version : درخواست تبدیل کد #C به VB.NET



vb.civil
چهارشنبه 01 فروردین 1397, 22:09 عصر
با سلام و تبریک سال 97

من در مورد موضوعی دارم تحقیق میکنم که موضوعش تا حد زیادی در مقاله ای که در این سایت هست و کدهاش به زبان #C (http://forum.p30world.com/usertag.php?do=list&action=hash&hash=C) هست نزدیکه . . . اما من نتونستم کدهاشو به VB.Net تغییر بدم از برنامه های تبدیل استفاده کردم ولی اررور میداد VB.Net . . . .

از دوستان کسی میتونه کد هاشو تبدیل شده به VB.Net اینجا بزاره ؟

این سایت

https://www.codeproject.com/articles...process-memory (https://www.codeproject.com/articles/670373/csharp-read-write-another-process-memory)

ممنون./

Alirezanet
جمعه 03 فروردین 1397, 11:17 صبح
Imports System
Imports System.Diagnostics
Imports System.Runtime.InteropServices
Imports System.Text


Public Class MemoryRead
Const PROCESS_WM_READ As Integer = &H10


<DllImport("kernel32.dll")> _
Public Shared Function OpenProcess(dwDesiredAccess As Integer, bInheritHandle As Boolean, dwProcessId As Integer) As IntPtr
End Function


<DllImport("kernel32.dll")> _
Public Shared Function ReadProcessMemory(hProcess As Integer, lpBaseAddress As Integer, lpBuffer As Byte(), dwSize As Integer, ByRef lpNumberOfBytesRead As Integer) As Boolean
End Function


Public Shared Sub Main()
Dim process As Process = Process.GetProcessesByName("notepad")(0)
Dim processHandle As IntPtr = OpenProcess(PROCESS_WM_READ, False, process.Id)


Dim bytesRead As Integer = 0
Dim buffer As Byte() = New Byte(24) {}
''Hello World!' takes 12*2 bytes because of Unicode


' 0x0046A3B8 is the address where I found the string, replace it with what you found
ReadProcessMemory(CType(processHandle, Integer), &H46a3b8, buffer, buffer.Length, bytesRead)


Console.WriteLine(Encoding.Unicode.GetString(buffe r) + " (" + bytesRead.ToString() + "bytes)")
Console.ReadLine()
End Sub
End Class



Imports System
Imports System.Diagnostics
Imports System.Runtime.InteropServices
Imports System.Text


Public Class MemoryRead
Const PROCESS_VM_WRITE As Integer = &H20
Const PROCESS_VM_OPERATION As Integer = &H8


<DllImport("kernel32.dll")> _
Public Shared Function OpenProcess(dwDesiredAccess As Integer, bInheritHandle As Boolean, dwProcessId As Integer) As IntPtr
End Function


<DllImport("kernel32.dll", SetLastError := True)> _
Shared Function WriteProcessMemory(hProcess As Integer, lpBaseAddress As Integer, lpBuffer As Byte(), dwSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Boolean
End Function


Public Shared Sub Main()
Dim process As Process = Process.GetProcessesByName("notepad")(0)
Dim processHandle As IntPtr = OpenProcess(&H1f0fff, False, process.Id)


Dim bytesWritten As Integer = 0
Dim buffer As Byte() = Encoding.Unicode.GetBytes("It works!" & vbNullChar)
' '\0' marks the end of string


' replace 0x0046A3B8 with your address
WriteProcessMemory(CType(processHandle, Integer), &H46a3b8, buffer, buffer.Length, bytesWritten)


Console.ReadLine()
End Sub
End Class

vb.civil
جمعه 03 فروردین 1397, 12:45 عصر
Alirezanet (http://barnamenevis.org/member.php?43802-Alirezanet) مرسی دوست عزیز

mohammadsaleh
یک شنبه 19 فروردین 1397, 13:47 عصر
از این سایت برای تبدیل استفاده کنید
https://www.carlosag.net/tools/codetranslator