RAMvader  1.4
A .NET library which provides access to other processes' memory space.
RAMvader.CodeInjection.MemoryAlterationBase Class Referenceabstract

Base class for all memory alterations that can be performed through the Injector<TMemoryAlterationSetID, TCodeCave, TVariable> class. More...

Inherits RAMvader.NotifyPropertyChangedAdapter.

Inherited by RAMvader.CodeInjection.MemoryAlterationNOP, RAMvader.CodeInjection.MemoryAlterationPoke, and RAMvader.CodeInjection.MemoryAlterationX86BranchInstruction.

Public Member Functions

abstract bool SetEnabled< TMemoryAlterationID, TCodeCave, TVariable > (Injector< TMemoryAlterationID, TCodeCave, TVariable > injectorRef, bool bEnable)
 Called to activate or deactivate a memory alteration into the target process' memory space. More...
 

Protected Member Functions

 MemoryAlterationBase (Target targetIORef, MemoryAddress targetAddress, int targetSize)
 Constructor. The constructor will read the bytes of the target process' memory space and keep a "snapshot" of it at the moment the constructor is called. When a memory alteration gets disabled, this "snapshot" will be used to restore the original bytes of the instruction or value that was in the target process' memory space before it was activated. More...
 
- Protected Member Functions inherited from RAMvader.NotifyPropertyChangedAdapter
void SendPropertyChangedNotification ([CallerMemberName] string propertyName="")
 This method should be called inside PROPERTY SETTER METHODS to notify listeners of the "property changed" event that the property has been updated. More...
 

Properties

byte [] TargetOriginalBytes [get, protected set]
 Keeps the bytes that represent the original instruction or value that was in memory before the memory alteration got activated. More...
 
MemoryAddress TargetAddress [get, protected set]
 The address (in the target process' memory space) where the memory alteration will occur. More...
 

Additional Inherited Members

- Events inherited from RAMvader.NotifyPropertyChangedAdapter
PropertyChangedEventHandler PropertyChanged
 Used for implementing the INotifyPropertyChanged interface. More...
 

Detailed Description

Base class for all memory alterations that can be performed through the Injector<TMemoryAlterationSetID, TCodeCave, TVariable> class.

Constructor & Destructor Documentation

◆ MemoryAlterationBase()

RAMvader.CodeInjection.MemoryAlterationBase.MemoryAlterationBase ( Target  targetIORef,
MemoryAddress  targetAddress,
int  targetSize 
)
protected

Constructor. The constructor will read the bytes of the target process' memory space and keep a "snapshot" of it at the moment the constructor is called. When a memory alteration gets disabled, this "snapshot" will be used to restore the original bytes of the instruction or value that was in the target process' memory space before it was activated.

Parameters
targetIORefA reference to the Target object that will be used to read the target process' memory space.
targetAddressThe address (in the target process' memory space) where the memory alteration will take place.
targetSizeThe size - given in bytes - of the instruction or value that the memory alteration will affect.
Exceptions
InstanceNotAttachedExceptionThrown when the method is called while the given Target is not attached to a process.
RequiredReadExceptionThrown when the method cannot successfully read the target process' memory space to retrieve the original bytes that the Memory Alteration will be replacing, once it is activated.

Member Function Documentation

◆ SetEnabled< TMemoryAlterationID, TCodeCave, TVariable >()

abstract bool RAMvader.CodeInjection.MemoryAlterationBase.SetEnabled< TMemoryAlterationID, TCodeCave, TVariable > ( Injector< TMemoryAlterationID, TCodeCave, TVariable >  injectorRef,
bool  bEnable 
)
pure virtual

Called to activate or deactivate a memory alteration into the target process' memory space.

Template Parameters
TMemoryAlterationIDThe enumeration of Memory Alteration Sets used for the Injector<TMemoryAlterationSetID, TCodeCave, TVariable>.
TCodeCaveThe enumeration of Code Caves used for the Injector<TMemoryAlterationSetID, TCodeCave, TVariable>.
TVariableThe enumeration of Injection Variables used for the Injector<TMemoryAlterationSetID, TCodeCave, TVariable>.
Parameters
injectorRefA reference to an Injector<TMemoryAlterationSetID, TCodeCave, TVariable> object, with which you can perform I/O operations on the target process' memory space and access related data, like values and addresses of variables and code caves.
bEnableA flag specifying if the memory alteration should be enabled or disabled.
Returns
Returns a flag specifying if the operation was successful or not.

Implemented in RAMvader.CodeInjection.MemoryAlterationX86BranchInstruction, RAMvader.CodeInjection.MemoryAlterationPoke, and RAMvader.CodeInjection.MemoryAlterationNOP.

Property Documentation

◆ TargetAddress

MemoryAddress RAMvader.CodeInjection.MemoryAlterationBase.TargetAddress
getprotected set

The address (in the target process' memory space) where the memory alteration will occur.

◆ TargetOriginalBytes

byte [] RAMvader.CodeInjection.MemoryAlterationBase.TargetOriginalBytes
getprotected set

Keeps the bytes that represent the original instruction or value that was in memory before the memory alteration got activated.