Используя NtQueryInformationProcess, можно получить текущий базовый адрес процесса, прочитав поле PebBaseAddress в возвращаемой структуре типа PROCESS_BASIC_INFORMATION.Зачем использовать ReadProcessMemory() с дескриптором текущего процесса?
Я видел код, который использует ReadProcessMemory() для чтения памяти относительно базового адреса текущего процесса, так как первые несколько байтов содержат некоторые указатели, которые показывают подробную информацию о процессе. Мне также нужно было получить часть этой информации, и research показал мне, как это сделать.
Я все еще смущен, однако, почему ReadProcessMemory() требуется при чтении памяти из текущего процесса. Невозможно разыменовать указатель относительно базы процессов или может ли это привести к ошибке сегментации? Имеются ли указатели в отношении технологической базы?
Это не требуется. Очень легко проверить, просто попробовав его. –
ReadProcessMemory широко используется для чтения памяти других процессов. В вашем случае вы можете использовать указатели – Asesh
@HansPassant Просто попытка не гарантирует, что он будет успешным во всех возможных случаях, следовательно, вопрос. –