#pragma once #include "Private.h" /// /// Change VAD protection flags /// /// Target process object /// target address /// New protection flags /// Status code NTSTATUS BBProtectVAD( IN PEPROCESS pProcess, IN ULONG_PTR address, IN ULONG prot ); /// /// Hide memory from NtQueryVirtualMemory /// /// Target process object /// Target address /// Status code NTSTATUS BBUnlinkVAD( IN PEPROCESS pProcess, IN ULONG_PTR address ); /// /// Get region VAD type /// /// Target process object /// Target address /// Resulting VAD type /// Status code NTSTATUS BBGetVadType( IN PEPROCESS pProcess, IN ULONG_PTR address, OUT PMI_VAD_TYPE pType ); /// /// Find VAD that describes target address /// /// Target process object /// Address to find /// Found VAD. NULL if not found /// Status code NTSTATUS BBFindVAD( IN PEPROCESS pProcess, IN ULONG_PTR address, OUT PMMVAD_SHORT* pResult ); /// /// Convert protection flags /// /// Protection flags. /// If TRUE - convert to PTE protection, if FALSE - convert to Win32 protection /// Resulting protection flags ULONG BBConvertProtection( IN ULONG prot, IN BOOLEAN fromPTE );