BlackBone
Windows memory hacking library
 All Classes Functions
blackbone::RemoteContext Class Reference

Remote function context during hook breakpoint. More...

#include <RemoteContext.hpp>

Public Member Functions

BLACKBONE_API RemoteContext (class ProcessMemory &memory, Thread &thd, _CONTEXT64 &ctx, ptr_t frame_ptr, BOOL x64, int wordSize)
 
BLACKBONE_API _CONTEXT64native ()
 
BLACKBONE_API ThreadgetThread ()
 Get current process thread where exception occurred More...
 
BLACKBONE_API const ptr_t returnAddress () const
 
BLACKBONE_API bool returnAddress (ptr_t val) const
 Set return address of current frame More...
 
BLACKBONE_API void setReturnValue (ptr_t val) const
 Set new integer return value. Has no effect on FPU. Has effect only if called in return callback More...
 
BLACKBONE_API ptr_t hookReturn ()
 Raise exception on function return More...
 
BLACKBONE_API ptr_t unhookReturn ()
 Remove exception on return More...
 
BLACKBONE_API DWORD64 getArg (int index)
 Get argument value. Argument index is 0 based. For x86 function works only with stack arguments For x64 only integer arguments can be retrieved More...
 
BLACKBONE_API bool setArg (int index, DWORD64 val)
 Set argument value. For x86 function works only with stack arguments. For x64 only integer arguments can be set More...
 
BLACKBONE_API DWORD lastError ()
 Get last thread error code More...
 
BLACKBONE_API DWORD lastError (DWORD newError)
 Set last thread error code More...
 
BLACKBONE_API ptr_t getUserContext ()
 Get arbitrary thread data More...
 
BLACKBONE_API bool setUserContext (ptr_t context)
 Set arbitrary thread data More...
 

Detailed Description

Remote function context during hook breakpoint.

Member Function Documentation

BLACKBONE_API DWORD64 blackbone::RemoteContext::getArg ( int  index)
inline

Get argument value. Argument index is 0 based. For x86 function works only with stack arguments For x64 only integer arguments can be retrieved

Parameters
index0-based argument index
Returns
Argument value
BLACKBONE_API Thread& blackbone::RemoteContext::getThread ( )
inline

Get current process thread where exception occurred

Returns
Thread
BLACKBONE_API ptr_t blackbone::RemoteContext::getUserContext ( )
inline

Get arbitrary thread data

Returns
Data value
BLACKBONE_API ptr_t blackbone::RemoteContext::hookReturn ( )
inline

Raise exception on function return

Returns
Masked return address
BLACKBONE_API DWORD blackbone::RemoteContext::lastError ( )
inline

Get last thread error code

Returns
Last error code, -1 if function failed
BLACKBONE_API DWORD blackbone::RemoteContext::lastError ( DWORD  newError)
inline

Set last thread error code

Returns
Last error code, -1 if function failed
BLACKBONE_API const ptr_t blackbone::RemoteContext::returnAddress ( ) const
inline

Returns
Return address
BLACKBONE_API bool blackbone::RemoteContext::returnAddress ( ptr_t  val) const
inline

Set return address of current frame

Parameters
valNew return address
Returns
true on success
BLACKBONE_API bool blackbone::RemoteContext::setArg ( int  index,
DWORD64  val 
)
inline

Set argument value. For x86 function works only with stack arguments. For x64 only integer arguments can be set

Parameters
index0-based argument index
valNew argument value
Returns
true on success
BLACKBONE_API void blackbone::RemoteContext::setReturnValue ( ptr_t  val) const
inline

Set new integer return value. Has no effect on FPU. Has effect only if called in return callback

Parameters
valNew return value
BLACKBONE_API bool blackbone::RemoteContext::setUserContext ( ptr_t  context)
inline

Set arbitrary thread data

Returns
true on success
BLACKBONE_API ptr_t blackbone::RemoteContext::unhookReturn ( )
inline

Remove exception on return

Returns
Return address

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