Как вывести карту памяти процесса и информацию о карте региона памяти в c#? Суть вопроса собственно в заголовке. Что сделано сейчас: подключен к проекту kernel32, пока все что из полезного удалось вывести:public struct MEMORY_BASIC_INFORMATION
{
public IntPtr BaseAddress;
public IntPtr AllocationBase;
public int AllocationProtect;
public IntPtr RegionSize;
public int State;
public int Protect;
public int Type;
}
Есть ли еще какая-нибудь структура, с помощью которой можно узнать количество блоков памяти и информацию о правах доступа к странице?
В случае, если вобще не то делаю, очень хотелось бы узнать как тогда стоит.

21 Авг 2019 в 06:54
175 +1
0
Ответы
1

Для получения информации о карте памяти процесса в C# вы можете использовать функцию VirtualQueryEx из kernel32.dll, как показано ниже:

[DllImport("kernel32.dll")]
public static extern int VirtualQueryEx(IntPtr hProcess, IntPtr lpAddress, out MEMORY_BASIC_INFORMATION lpBuffer, uint dwLength);
public static void GetMemoryMap(IntPtr processHandle)
{
IntPtr address = IntPtr.Zero;
MEMORY_BASIC_INFORMATION memInfo = new MEMORY_BASIC_INFORMATION();
while (VirtualQueryEx(processHandle, address, out memInfo, (uint)Marshal.SizeOf(typeof(MEMORY_BASIC_INFORMATION))) != 0)
{
Console.WriteLine("Base Address: " + memInfo.BaseAddress);
Console.WriteLine("Region Size: " + memInfo.RegionSize);
address = new IntPtr(memInfo.BaseAddress.ToInt64() + memInfo.RegionSize.ToInt64());
}
}

Вы также можете использовать структуру MEMORY_BASIC_INFORMATION для получения информации о правах доступа к памяти. Например, memInfo.Protect будет содержать информацию о правах доступа к текущей странице памяти.

Надеюсь, это поможет вам получить информацию о карте памяти процесса в C#. Если у вас есть дополнительные вопросы, пожалуйста, не стесняйтесь задавать.

20 Апр в 13:11
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 541 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир