如何从另一个进程中找到已分配(独立)的内存部分?

时间:2014-01-28 19:00:18

标签: c# memory

我的意思是如何快速找到另一个程序中另一个程序分配的一个部分,它的大小是(8字节)所以当我使用这个代码时:

public static uint FindSignature(IntPtr hProcess, byte[] sigBuffer)
    {
        byte[] lpBuffer = new byte[524288];
        uint lpNumberOfBytesRead = 0;
        uint CurAddr = 0x00000000;
        bool Result = false;

        Result = ReadProcessMemory(hProcess, CurAddr, lpBuffer, 524288, out lpNumberOfBytesRead);

        while (CurAddr + 524288 <= 0x7FFFFFFF)
        {
            if (Result != false)
            {
                int Index = ByteSearch(lpBuffer, sigBuffer);
                if (Index != -1)
                {
                    return (uint)(CurAddr + Index);
                }
            }
            CurAddr += (uint)(524288 - sigBuffer.Length);
            Result = ReadProcessMemory(hProcess, CurAddr, lpBuffer, 524288, out lpNumberOfBytesRead);
        }
        return 0;
    }

我找不到它,因为我同时读取了512 KB,因此返回false。

谢谢。

0 个答案:

没有答案