libintrovirt v0.57.4
IntroVirt introspection library
Loading...
Searching...
No Matches
introvirt::windows::nt::NtAllocateVirtualMemory Class Referenceabstract

Handler class for the NtAllocateVirtualMemory system call. More...

#include <NtAllocateVirtualMemory.hh>

Inheritance diagram for introvirt::windows::nt::NtAllocateVirtualMemory:
Collaboration diagram for introvirt::windows::nt::NtAllocateVirtualMemory:

Public Member Functions

virtual uint64_t ProcessHandle () const =0
 Getter for ProcessHandle.
 
virtual guest_ptr< void > BaseAddressPtr () const =0
 Getter for BaseAddressPtr.
 
virtual size_t ZeroBits () const =0
 Getter for ZeroBits.
 
virtual guest_ptr< void > RegionSizePtr () const =0
 Getter for RegionSizePtr.
 
virtual MEMORY_ALLOCATION_TYPE AllocationType () const =0
 Getter for AllocationType.
 
virtual PAGE_PROTECTION Protect () const =0
 Getter for Protect.
 
virtual void ProcessHandle (uint64_t ProcessHandle)=0
 Setter for ProcessHandle.
 
virtual void BaseAddressPtr (const guest_ptr< void > &pBaseAddress)=0
 Setter for BaseAddressPtr.
 
virtual void ZeroBits (size_t ZeroBits)=0
 Setter for ZeroBits.
 
virtual void RegionSizePtr (const guest_ptr< void > &pRegionSize)=0
 Setter for RegionSizePtr.
 
virtual void AllocationType (MEMORY_ALLOCATION_TYPE AllocationType)=0
 Setter for AllocationType.
 
virtual void Protect (PAGE_PROTECTION Protect)=0
 Setter for Protect.
 
virtual size_t BaseAddress () const =0
 
virtual void BaseAddress (size_t BaseAddress)=0
 
virtual size_t RegionSize () const =0
 
virtual void RegionSize (size_t RegionSize)=0
 
- Public Member Functions inherited from introvirt::windows::nt::NtSystemCall
virtual NTSTATUS result () const =0
 Get the result code.
 
virtual void result (NTSTATUS_CODE code)=0
 Set the result code.
 
- Public Member Functions inherited from introvirt::windows::WindowsSystemCall
virtual SystemCallIndex index () const =0
 Get the system call number.
 
- Public Member Functions inherited from introvirt::SystemCall
virtual const std::string & name () const =0
 Get the name of the system call.
 
virtual void write (std::ostream &os=std::cout) const =0
 Write a human-readable description of this system call.
 
virtual Json::Value json () const =0
 
virtual bool will_return () const =0
 
virtual void data (const std::string &key, const std::shared_ptr< void > &value)=0
 Store arbitrary data with the SystemCall.
 
virtual void data (const std::string &key, std::shared_ptr< void > &&value)=0
 Store arbitrary data with the SystemCall.
 
virtual std::shared_ptr< void > data (const std::string &key)=0
 Retrieve arbitrary data stored with the SystemCall.
 
virtual std::shared_ptr< const void > data (const std::string &key) const =0
 Retrieve arbitrary data stored with the SystemCall.
 
virtual bool supported () const =0
 Check if this system call is supported by a more specific handler.
 
virtual void handle_return_event (Event &event)=0
 Handle a system call return event.
 
virtual ~SystemCall ()=default
 Destroy the instance.
 

Static Public Member Functions

static NTSTATUS inject (uint64_t ProcessHandle, size_t &BaseAddress, size_t ZeroBits, size_t &RegionSize, MEMORY_ALLOCATION_TYPE AllocationType, PAGE_PROTECTION Protect)
 

Detailed Description

Handler class for the NtAllocateVirtualMemory system call.

Member Function Documentation

◆ AllocationType() [1/2]

virtual MEMORY_ALLOCATION_TYPE introvirt::windows::nt::NtAllocateVirtualMemory::AllocationType ( ) const
pure virtual

Getter for AllocationType.

Returns
The value of the AllocationType parameter

◆ AllocationType() [2/2]

virtual void introvirt::windows::nt::NtAllocateVirtualMemory::AllocationType ( MEMORY_ALLOCATION_TYPE  AllocationType)
pure virtual

Setter for AllocationType.

Parameters
AllocationTypeThe value to set for the AllocationType parameter

◆ BaseAddress() [1/2]

virtual size_t introvirt::windows::nt::NtAllocateVirtualMemory::BaseAddress ( ) const
pure virtual

◆ BaseAddress() [2/2]

virtual void introvirt::windows::nt::NtAllocateVirtualMemory::BaseAddress ( size_t  BaseAddress)
pure virtual

◆ BaseAddressPtr() [1/2]

virtual guest_ptr< void > introvirt::windows::nt::NtAllocateVirtualMemory::BaseAddressPtr ( ) const
pure virtual

Getter for BaseAddressPtr.

Returns
The address pointed to by the the BaseAddressPtr parameter

◆ BaseAddressPtr() [2/2]

virtual void introvirt::windows::nt::NtAllocateVirtualMemory::BaseAddressPtr ( const guest_ptr< void > &  pBaseAddress)
pure virtual

Setter for BaseAddressPtr.

Parameters
pBaseAddressThe address to set for the BaseAddressPtr parameter

◆ inject()

static NTSTATUS introvirt::windows::nt::NtAllocateVirtualMemory::inject ( uint64_t  ProcessHandle,
size_t &  BaseAddress,
size_t  ZeroBits,
size_t &  RegionSize,
MEMORY_ALLOCATION_TYPE  AllocationType,
PAGE_PROTECTION  Protect 
)
static

◆ ProcessHandle() [1/2]

virtual uint64_t introvirt::windows::nt::NtAllocateVirtualMemory::ProcessHandle ( ) const
pure virtual

Getter for ProcessHandle.

Returns
The value of the ProcessHandle parameter

◆ ProcessHandle() [2/2]

virtual void introvirt::windows::nt::NtAllocateVirtualMemory::ProcessHandle ( uint64_t  ProcessHandle)
pure virtual

Setter for ProcessHandle.

Parameters
ProcessHandleThe value to set for the ProcessHandle parameter

◆ Protect() [1/2]

virtual PAGE_PROTECTION introvirt::windows::nt::NtAllocateVirtualMemory::Protect ( ) const
pure virtual

Getter for Protect.

Returns
The value of the Protect parameter

◆ Protect() [2/2]

virtual void introvirt::windows::nt::NtAllocateVirtualMemory::Protect ( PAGE_PROTECTION  Protect)
pure virtual

Setter for Protect.

Parameters
ProtectThe value to set for the Protect parameter

◆ RegionSize() [1/2]

virtual size_t introvirt::windows::nt::NtAllocateVirtualMemory::RegionSize ( ) const
pure virtual

◆ RegionSize() [2/2]

virtual void introvirt::windows::nt::NtAllocateVirtualMemory::RegionSize ( size_t  RegionSize)
pure virtual

◆ RegionSizePtr() [1/2]

virtual guest_ptr< void > introvirt::windows::nt::NtAllocateVirtualMemory::RegionSizePtr ( ) const
pure virtual

Getter for RegionSizePtr.

Returns
The address pointed to by the the RegionSizePtr parameter

◆ RegionSizePtr() [2/2]

virtual void introvirt::windows::nt::NtAllocateVirtualMemory::RegionSizePtr ( const guest_ptr< void > &  pRegionSize)
pure virtual

Setter for RegionSizePtr.

Parameters
pRegionSizeThe address to set for the RegionSizePtr parameter

◆ ZeroBits() [1/2]

virtual size_t introvirt::windows::nt::NtAllocateVirtualMemory::ZeroBits ( ) const
pure virtual

Getter for ZeroBits.

Returns
The value of the ZeroBits parameter

◆ ZeroBits() [2/2]

virtual void introvirt::windows::nt::NtAllocateVirtualMemory::ZeroBits ( size_t  ZeroBits)
pure virtual

Setter for ZeroBits.

Parameters
ZeroBitsThe value to set for the ZeroBits parameter

The documentation for this class was generated from the following file: