|
libintrovirt v0.57.4
IntroVirt introspection library
|
Handler class for the NtCreateUserProcess system call. More...
#include <NtCreateUserProcess.hh>


Public Member Functions | |
| virtual guest_ptr< void > | ProcessHandlePtr () const =0 |
| Getter for ProcessHandlePtr. | |
| virtual guest_ptr< void > | ThreadHandlePtr () const =0 |
| Getter for ThreadHandlePtr. | |
| virtual PROCESS_ACCESS_MASK | ProcessDesiredAccess () const =0 |
| Getter for ProcessDesiredAccess. | |
| virtual THREAD_ACCESS_MASK | ThreadDesiredAccess () const =0 |
| Getter for ThreadDesiredAccess. | |
| virtual guest_ptr< void > | ProcessObjectAttributesPtr () const =0 |
| Getter for ProcessObjectAttributesPtr. | |
| virtual guest_ptr< void > | ThreadObjectAttributesPtr () const =0 |
| Getter for ThreadObjectAttributesPtr. | |
| virtual ProcessCreateFlags | ProcessFlags () const =0 |
| Getter for ProcessFlags. | |
| virtual ThreadCreateFlags | ThreadFlags () const =0 |
| Getter for ThreadFlags. | |
| virtual guest_ptr< void > | ProcessParametersPtr () const =0 |
| Getter for ProcessParametersPtr. | |
| virtual guest_ptr< void > | CreateInfoPtr () const =0 |
| Getter for CreateInfoPtr. | |
| virtual guest_ptr< void > | AttributeListPtr () const =0 |
| Getter for AttributeListPtr. | |
| virtual void | ProcessHandlePtr (const guest_ptr< void > &pProcessHandle)=0 |
| Setter for ProcessHandlePtr. | |
| virtual void | ThreadHandlePtr (const guest_ptr< void > &pThreadHandle)=0 |
| Setter for ThreadHandlePtr. | |
| virtual void | ProcessDesiredAccess (PROCESS_ACCESS_MASK ProcessDesiredAccess)=0 |
| Setter for ProcessDesiredAccess. | |
| virtual void | ThreadDesiredAccess (THREAD_ACCESS_MASK ThreadDesiredAccess)=0 |
| Setter for ThreadDesiredAccess. | |
| virtual void | ProcessObjectAttributesPtr (const guest_ptr< void > &pProcessObjectAttributes)=0 |
| Setter for ProcessObjectAttributesPtr. | |
| virtual void | ThreadObjectAttributesPtr (const guest_ptr< void > &pThreadObjectAttributes)=0 |
| Setter for ThreadObjectAttributesPtr. | |
| virtual void | ProcessFlags (ProcessCreateFlags ProcessFlags)=0 |
| Setter for ProcessFlags. | |
| virtual void | ThreadFlags (ThreadCreateFlags ThreadFlags)=0 |
| Setter for ThreadFlags. | |
| virtual void | ProcessParametersPtr (const guest_ptr< void > &pProcessParameters)=0 |
| Setter for ProcessParametersPtr. | |
| virtual void | CreateInfoPtr (const guest_ptr< void > &pCreateInfo)=0 |
| Setter for CreateInfoPtr. | |
| virtual void | AttributeListPtr (const guest_ptr< void > &pAttributeList)=0 |
| Setter for AttributeListPtr. | |
| virtual uint64_t | ProcessHandle () const =0 |
| virtual void | ProcessHandle (uint64_t ProcessHandle)=0 |
| virtual uint64_t | ThreadHandle () const =0 |
| virtual void | ThreadHandle (uint64_t ThreadHandle)=0 |
| virtual const OBJECT_ATTRIBUTES * | ProcessObjectAttributes () const =0 |
| virtual OBJECT_ATTRIBUTES * | ProcessObjectAttributes ()=0 |
| virtual const OBJECT_ATTRIBUTES * | ThreadObjectAttributes () const =0 |
| virtual OBJECT_ATTRIBUTES * | ThreadObjectAttributes ()=0 |
| virtual const RTL_USER_PROCESS_PARAMETERS * | ProcessParameters () const =0 |
| virtual RTL_USER_PROCESS_PARAMETERS * | ProcessParameters ()=0 |
| virtual const PS_CREATE_INFO * | CreateInfo () const =0 |
| virtual PS_CREATE_INFO * | CreateInfo ()=0 |
| virtual const PS_ATTRIBUTE_LIST * | AttributeList () const =0 |
| virtual PS_ATTRIBUTE_LIST * | AttributeList ()=0 |
| virtual std::shared_ptr< PROCESS > | get_new_process ()=0 |
| Get the newly created PROCESS object. | |
| virtual const std::shared_ptr< PROCESS > | get_new_process () const =0 |
| Get the newly created PROCESS object. | |
| virtual std::shared_ptr< THREAD > | get_new_thread ()=0 |
| Get the newly created THREAD object. | |
| virtual const std::shared_ptr< THREAD > | get_new_thread () const =0 |
| Get the newly created THREAD object. | |
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, uint64_t &ThreadHandle, PROCESS_ACCESS_MASK ProcessDesiredAccess, THREAD_ACCESS_MASK ThreadDesiredAccess, const guest_ptr< void > &pProcessObjectAttributes, const guest_ptr< void > &pThreadObjectAttributes, ProcessCreateFlags ProcessFlags, ThreadCreateFlags ThreadFlags, const RTL_USER_PROCESS_PARAMETERS *ProcessParameters, PS_CREATE_INFO &CreateInfo, const guest_ptr< void > &pAttributeList) |
Handler class for the NtCreateUserProcess system call.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Getter for AttributeListPtr.
|
pure virtual |
Setter for AttributeListPtr.
| pAttributeList | The address to set for the AttributeListPtr parameter |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Getter for CreateInfoPtr.
|
pure virtual |
Setter for CreateInfoPtr.
| pCreateInfo | The address to set for the CreateInfoPtr parameter |
|
pure virtual |
Get the newly created PROCESS object.
| InvalidMethodException | if the system call has not returned |
|
pure virtual |
Get the newly created PROCESS object.
| InvalidMethodException | if the system call has not returned |
|
pure virtual |
Get the newly created THREAD object.
| InvalidMethodException | if the system call has not returned |
|
pure virtual |
Get the newly created THREAD object.
| InvalidMethodException | if the system call has not returned |
|
static |
|
pure virtual |
Getter for ProcessDesiredAccess.
|
pure virtual |
Setter for ProcessDesiredAccess.
| ProcessDesiredAccess | The value to set for the ProcessDesiredAccess parameter |
|
pure virtual |
Getter for ProcessFlags.
|
pure virtual |
Setter for ProcessFlags.
| ProcessFlags | The value to set for the ProcessFlags parameter |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Getter for ProcessHandlePtr.
|
pure virtual |
Setter for ProcessHandlePtr.
| pProcessHandle | The address to set for the ProcessHandlePtr parameter |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Getter for ProcessObjectAttributesPtr.
|
pure virtual |
Setter for ProcessObjectAttributesPtr.
| pProcessObjectAttributes | The address to set for the ProcessObjectAttributesPtr parameter |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Getter for ProcessParametersPtr.
|
pure virtual |
Setter for ProcessParametersPtr.
| pProcessParameters | The address to set for the ProcessParametersPtr parameter |
|
pure virtual |
Getter for ThreadDesiredAccess.
|
pure virtual |
Setter for ThreadDesiredAccess.
| ThreadDesiredAccess | The value to set for the ThreadDesiredAccess parameter |
|
pure virtual |
Getter for ThreadFlags.
|
pure virtual |
Setter for ThreadFlags.
| ThreadFlags | The value to set for the ThreadFlags parameter |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Getter for ThreadHandlePtr.
|
pure virtual |
Setter for ThreadHandlePtr.
| pThreadHandle | The address to set for the ThreadHandlePtr parameter |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Getter for ThreadObjectAttributesPtr.
|
pure virtual |
Setter for ThreadObjectAttributesPtr.
| pThreadObjectAttributes | The address to set for the ThreadObjectAttributesPtr parameter |