RAMvader  1.3
A C# library which provides access to other processes' memory space.
RAMvader.CodeInjection.CodeCaveArtifactX86Call< TMemoryAlterationSetID, TCodeCave, TVariable > Class Template Reference

Specialization of the CodeCaveArtifact<TMemoryAlterationSetID, TCodeCave, TVariable> class used to add a CALL instruction to a code cave. More...

Inherits RAMvader.CodeInjection.CodeCaveArtifact< TMemoryAlterationSetID, TCodeCave, TVariable >.

Public Member Functions

 CodeCaveArtifactX86Call (MemoryAddress targetCallAddress)
 Constructor. More...
 
override byte [] GenerateArtifactBytes ()
 Generates the bytes which correspond to the artifact instance. These bytes are the ones to be actually written to the target process' memory space by the CodeInjection.Injector<TMemoryAlterationSetID, TCodeCave, TVariable> during the injection procedure. More...
 
override int GetTotalSize (RAMvaderTarget target)
 Retrieves the total size of a given artifact, in bytes. More...
 
- Public Member Functions inherited from RAMvader.CodeInjection.CodeCaveArtifact< TMemoryAlterationSetID, TCodeCave, TVariable >
void LockWithInjector (Injector< TMemoryAlterationSetID, TCodeCave, TVariable > injectorRef)
 
Injector< TMemoryAlterationSetID, TCodeCave, TVariable > GetLockingInjector ()
 Retrieves the Injector<TMemoryAlterationSetID, TCodeCave, TVariable> instance that is currently locking this object, during an injection procedure. More...
 
void ReleaseFromInjector ()
 Releases this instance from the Injector<TMemoryAlterationSetID, TCodeCave, TVariable> that is currently using it. During the injection process, the Injector<TMemoryAlterationSetID, TCodeCave, TVariable> that needs to use a CodeCaveArtifact<TMemoryAlterationSetID, TCodeCave, TVariable> locks it for its own use, and after the injection it releases it by calling this method, allowing other Injector<TMemoryAlterationSetID, TCodeCave, TVariable>s to lock and use this instance. More...
 

Detailed Description

Specialization of the CodeCaveArtifact<TMemoryAlterationSetID, TCodeCave, TVariable> class used to add a CALL instruction to a code cave.

Constructor & Destructor Documentation

◆ CodeCaveArtifactX86Call()

RAMvader.CodeInjection.CodeCaveArtifactX86Call< TMemoryAlterationSetID, TCodeCave, TVariable >.CodeCaveArtifactX86Call ( MemoryAddress  targetCallAddress)

Constructor.

Parameters
targetCallAddressThe address to be CALLed.

Member Function Documentation

◆ GenerateArtifactBytes()

override byte [] RAMvader.CodeInjection.CodeCaveArtifactX86Call< TMemoryAlterationSetID, TCodeCave, TVariable >.GenerateArtifactBytes ( )
virtual

Generates the bytes which correspond to the artifact instance. These bytes are the ones to be actually written to the target process' memory space by the CodeInjection.Injector<TMemoryAlterationSetID, TCodeCave, TVariable> during the injection procedure.

Returns
Returns an array of bytes corresponding to the artifact when it is injected in the target process' memory space.

Implements RAMvader.CodeInjection.CodeCaveArtifact< TMemoryAlterationSetID, TCodeCave, TVariable >.

◆ GetTotalSize()

override int RAMvader.CodeInjection.CodeCaveArtifactX86Call< TMemoryAlterationSetID, TCodeCave, TVariable >.GetTotalSize ( RAMvaderTarget  target)
virtual

Retrieves the total size of a given artifact, in bytes.

Parameters
targetThe instance of RAMvaderTarget that is setup to access the target process' memory space. This instance is used to know properties of the target process, such as its pointers size.
Returns
Returns the total size of the artifact, in bytes.

Implements RAMvader.CodeInjection.CodeCaveArtifact< TMemoryAlterationSetID, TCodeCave, TVariable >.