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

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

#include <NtDuplicateToken.hh>

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

Public Member Functions

virtual uint64_t ExistingToken () const =0
 Getter for ExistingToken.
 
virtual TOKEN_ACCESS_MASK DesiredAccess () const =0
 Getter for DesiredAccess.
 
virtual guest_ptr< void > ObjectAttributesPtr () const =0
 Getter for ObjectAttributesPtr.
 
virtual bool EffectiveOnly () const =0
 Getter for EffectiveOnly.
 
virtual TOKEN_TYPE TokenType () const =0
 Getter for TokenType.
 
virtual guest_ptr< void > NewTokenHandlePtr () const =0
 Getter for NewTokenHandlePtr.
 
virtual void ExistingToken (uint64_t ExistingToken)=0
 Setter for ExistingToken.
 
virtual void DesiredAccess (TOKEN_ACCESS_MASK DesiredAccess)=0
 Setter for DesiredAccess.
 
virtual void ObjectAttributesPtr (const guest_ptr< void > &pObjectAttributes)=0
 Setter for ObjectAttributesPtr.
 
virtual void EffectiveOnly (bool EffectiveOnly)=0
 Setter for EffectiveOnly.
 
virtual void TokenType (TOKEN_TYPE TokenType)=0
 Setter for TokenType.
 
virtual void NewTokenHandlePtr (const guest_ptr< void > &pNewTokenHandle)=0
 Setter for NewTokenHandlePtr.
 
virtual const OBJECT_ATTRIBUTESObjectAttributes () const =0
 
virtual OBJECT_ATTRIBUTESObjectAttributes ()=0
 
virtual uint64_t NewTokenHandle () const =0
 
virtual void NewTokenHandle (uint64_t NewTokenHandle)=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 ExistingToken, TOKEN_ACCESS_MASK DesiredAccess, const guest_ptr< void > &pObjectAttributes, bool EffectiveOnly, TOKEN_TYPE TokenType, uint64_t &NewTokenHandle)
 

Detailed Description

Handler class for the NtDuplicateToken system call.

Member Function Documentation

◆ DesiredAccess() [1/2]

virtual TOKEN_ACCESS_MASK introvirt::windows::nt::NtDuplicateToken::DesiredAccess ( ) const
pure virtual

Getter for DesiredAccess.

Returns
The value of the DesiredAccess parameter

◆ DesiredAccess() [2/2]

virtual void introvirt::windows::nt::NtDuplicateToken::DesiredAccess ( TOKEN_ACCESS_MASK  DesiredAccess)
pure virtual

Setter for DesiredAccess.

Parameters
DesiredAccessThe value to set for the DesiredAccess parameter

◆ EffectiveOnly() [1/2]

virtual bool introvirt::windows::nt::NtDuplicateToken::EffectiveOnly ( ) const
pure virtual

Getter for EffectiveOnly.

Returns
The value of the EffectiveOnly parameter

◆ EffectiveOnly() [2/2]

virtual void introvirt::windows::nt::NtDuplicateToken::EffectiveOnly ( bool  EffectiveOnly)
pure virtual

Setter for EffectiveOnly.

Parameters
EffectiveOnlyThe value to set for the EffectiveOnly parameter

◆ ExistingToken() [1/2]

virtual uint64_t introvirt::windows::nt::NtDuplicateToken::ExistingToken ( ) const
pure virtual

Getter for ExistingToken.

Returns
The value of the ExistingToken parameter

◆ ExistingToken() [2/2]

virtual void introvirt::windows::nt::NtDuplicateToken::ExistingToken ( uint64_t  ExistingToken)
pure virtual

Setter for ExistingToken.

Parameters
ExistingTokenThe value to set for the ExistingToken parameter

◆ inject()

static NTSTATUS introvirt::windows::nt::NtDuplicateToken::inject ( uint64_t  ExistingToken,
TOKEN_ACCESS_MASK  DesiredAccess,
const guest_ptr< void > &  pObjectAttributes,
bool  EffectiveOnly,
TOKEN_TYPE  TokenType,
uint64_t &  NewTokenHandle 
)
static

◆ NewTokenHandle() [1/2]

virtual uint64_t introvirt::windows::nt::NtDuplicateToken::NewTokenHandle ( ) const
pure virtual

◆ NewTokenHandle() [2/2]

virtual void introvirt::windows::nt::NtDuplicateToken::NewTokenHandle ( uint64_t  NewTokenHandle)
pure virtual

◆ NewTokenHandlePtr() [1/2]

virtual guest_ptr< void > introvirt::windows::nt::NtDuplicateToken::NewTokenHandlePtr ( ) const
pure virtual

Getter for NewTokenHandlePtr.

Returns
The address pointed to by the the NewTokenHandlePtr parameter

◆ NewTokenHandlePtr() [2/2]

virtual void introvirt::windows::nt::NtDuplicateToken::NewTokenHandlePtr ( const guest_ptr< void > &  pNewTokenHandle)
pure virtual

Setter for NewTokenHandlePtr.

Parameters
pNewTokenHandleThe address to set for the NewTokenHandlePtr parameter

◆ ObjectAttributes() [1/2]

virtual const OBJECT_ATTRIBUTES * introvirt::windows::nt::NtDuplicateToken::ObjectAttributes ( ) const
pure virtual

◆ ObjectAttributes() [2/2]

virtual OBJECT_ATTRIBUTES * introvirt::windows::nt::NtDuplicateToken::ObjectAttributes ( )
pure virtual

◆ ObjectAttributesPtr() [1/2]

virtual guest_ptr< void > introvirt::windows::nt::NtDuplicateToken::ObjectAttributesPtr ( ) const
pure virtual

Getter for ObjectAttributesPtr.

Returns
The address pointed to by the the ObjectAttributesPtr parameter

◆ ObjectAttributesPtr() [2/2]

virtual void introvirt::windows::nt::NtDuplicateToken::ObjectAttributesPtr ( const guest_ptr< void > &  pObjectAttributes)
pure virtual

Setter for ObjectAttributesPtr.

Parameters
pObjectAttributesThe address to set for the ObjectAttributesPtr parameter

◆ TokenType() [1/2]

virtual TOKEN_TYPE introvirt::windows::nt::NtDuplicateToken::TokenType ( ) const
pure virtual

Getter for TokenType.

Returns
The value of the TokenType parameter

◆ TokenType() [2/2]

virtual void introvirt::windows::nt::NtDuplicateToken::TokenType ( TOKEN_TYPE  TokenType)
pure virtual

Setter for TokenType.

Parameters
TokenTypeThe value to set for the TokenType parameter

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