读取其他进程的受保护的内存

时间:2019-01-03 09:20:04

标签: .net vb.net memory

我有问题。 我想在Windows中读取另一个进程的内存。 我使用以下功能:

<DllImport("kernel32.dll", SetLastError:=True)> _
Public Shared Function ReadProcessMemory(ByVal hProcess As IntPtr, _
                                         ByVal lpBaseAddress As Int64, _
                                         <Out()> ByVal lpBuffer As Byte(), _
                                         ByVal dwSize As Integer, _
                                         ByRef lpNumberOfBytesRead As Integer) As Boolean
End Function

<Flags>
Public Enum ProcessAccessFlags As UInteger
    All = &H1F0FFF
    Terminate = &H1
    CreateThread = &H2
    VirtualMemoryOperation = &H8
    VirtualMemoryRead = &H10
    VirtualMemoryWrite = &H20
    DuplicateHandle = &H40
    CreateProcess = &H80
    SetQuota = &H100
    SetInformation = &H200
    QueryInformation = &H400
    QueryLimitedInformation = &H1000
    Synchronize = &H100000
End Enum

Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As ProcessAccessFlags, bInheritHandle As Boolean, processId As UInt32) As IntPtr

但是当我想读取位置7FF5F7E40024时,会看到以下错误:

  

试图读取或写入受保护的内存。这通常是   表示其他内存已损坏

我确定在此内存位置中有Mp4电影,并且此位置没有损坏内存。

0 个答案:

没有答案