BlackBone
Windows memory hacking library
 All Classes Functions
blackbone::AsmHelper64 Class Reference
Inheritance diagram for blackbone::AsmHelper64:
blackbone::AsmHelperBase

Public Member Functions

virtual void GenPrologue (bool switchMode=false)
 Generate function prologue code More...
 
virtual void GenEpilogue (bool switchMode=false, int retSize=0)
 Generate function epilogue code More...
 
virtual void GenCall (const AsmVariant &pFN, const std::vector< AsmVariant > &args, eCalligConvention cc=cc_stdcall)
 Generate function call More...
 
virtual void ExitThreadWithStatus (uint64_t pExitThread, size_t resultPtr=0)
 Save rax value and terminate current thread More...
 
virtual void SaveRetValAndSignalEvent (size_t pSetEvent, size_t ResultPtr, size_t EventPtr, size_t lastStatusPtr, eReturnType rtype=rt_int32)
 Save return value and signal thread return event More...
 
virtual void EnableX64CallStack (bool state)
 Set stack reservation policy on call generation More...
 
virtual void SetTebPtr ()
 Move TEB pointer into rdx More...
 
- Public Member Functions inherited from blackbone::AsmHelperBase
virtual void ExitThreadWithStatus (size_t pExitThread, size_t resultPtr)=0
 
BLACKBONE_API void SwitchTo86 ()
 Switch processor into WOW64 emulation mode More...
 
BLACKBONE_API void SwitchTo64 ()
 Switch processor into x64 mode (long mode) More...
 
BLACKBONE_API
asmjit::host::Assembler * 
operator-> ()
 

Additional Inherited Members

- Protected Attributes inherited from blackbone::AsmHelperBase
asmjit::JitRuntime _runtime
 
asmjit::host::Assembler _assembler
 

Member Function Documentation

void blackbone::AsmHelper64::EnableX64CallStack ( bool  state)
virtual

Set stack reservation policy on call generation

Parameters
stateIf true - stack space will be reserved during each call generation If false - no automatic stack reservation, user must allocate stack by hand

Implements blackbone::AsmHelperBase.

void blackbone::AsmHelper64::ExitThreadWithStatus ( uint64_t  pExitThread,
size_t  resultPtr = 0 
)
virtual

Save rax value and terminate current thread

Parameters
pExitThreadNtTerminateThread address
resultPtrMemry where rax value will be saved
void blackbone::AsmHelper64::GenCall ( const AsmVariant pFN,
const std::vector< AsmVariant > &  args,
eCalligConvention  cc = cc_stdcall 
)
virtual

Generate function call

Parameters
pFNFunction pointer
argsFunction arguments
ccIgnored

Implements blackbone::AsmHelperBase.

void blackbone::AsmHelper64::GenEpilogue ( bool  switchMode = false,
int  retSize = 0 
)
virtual

Generate function epilogue code

Parameters
switchModetrue if execution must be swithed to x86 mode
retSizeStack change value

Implements blackbone::AsmHelperBase.

void blackbone::AsmHelper64::GenPrologue ( bool  switchMode = false)
virtual

Generate function prologue code

Parameters
switchModetrue if execution must be swithed to x64 mode

Implements blackbone::AsmHelperBase.

void blackbone::AsmHelper64::SaveRetValAndSignalEvent ( size_t  pSetEvent,
size_t  ResultPtr,
size_t  EventPtr,
size_t  lastStatusPtr,
eReturnType  rtype = rt_int32 
)
virtual

Save return value and signal thread return event

Parameters
pSetEventNtSetEvent address
ResultPtrResult value memory location
EventPtrEvent memory location
errPtrError code memory location
rtypeReturn type

Implements blackbone::AsmHelperBase.

virtual void blackbone::AsmHelper64::SetTebPtr ( )
inlinevirtual

Move TEB pointer into rdx

Implements blackbone::AsmHelperBase.


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