RAMvader  1.4
A .NET library which provides access to other processes' memory space.
RAMvader.CodeInjection Namespace Reference

Classes

class  CodeCaveArtifact
 This class represents the artifacts that can be added to a code cave. Artifacts may include: byte sequences, addresses of injected variables, assembly instructions, etc. Futurely, new kinds of artifacts might be created for making the process of building of code caves easier, more flexible and more powerful. During the injection process, the CodeInjection.Injector<TMemoryAlterationSetID, TCodeCave, TVariable> will use the artifacts of each code cave to build the byte codes of each one of the code caves that need to be injected. More...
 
class  CodeCaveArtifactByteSequence
 Specialization of the CodeCaveArtifact<TMemoryAlterationSetID, TCodeCave, TVariable> class used to add raw, unsigned bytes to a code cave. More...
 
class  CodeCaveArtifactCodeCaveAddress
 Specialization of the CodeCaveArtifact<TMemoryAlterationSetID, TCodeCave, TVariable> class used to add the address of an injected code cave to a code cave. More...
 
class  CodeCaveArtifactSByteSequence
 Specialization of the CodeCaveArtifact<TMemoryAlterationSetID, TCodeCave, TVariable> class used to add raw, signed bytes to a code cave. More...
 
class  CodeCaveArtifactVariableAddress
 Specialization of the CodeCaveArtifact<TMemoryAlterationSetID, TCodeCave, TVariable> class used to add the address of an injected variable to a code cave. More...
 
class  CodeCaveArtifactX86BranchInstruction
 Specialization of the CodeCaveArtifact<TMemoryAlterationSetID, TCodeCave, TVariable> class used to add an x86 branch instruction to a code cave. Such instructions include jumps, both conditional ("JMP") and unconditional (instructions like "JA", "JNE", "JL", etc... collectively known as "JCC" instructions), and procedure calling instructions ("CALL"). More...
 
class  CodeCaveBuilder
 
class  CodeCaveDefinition
 This class holds the definition of a Code Cave that can be injected into a process' memory space by using the Injector<TMemoryAlterationSetID, TCodeCave, TVariable>. A code cave is made up of a list of CodeCaveArtifact<TMemoryAlterationSetID, TCodeCave, TVariable> objects, which hold all the information used by the Injector<TMemoryAlterationSetID, TCodeCave, TVariable> to generate the bytes of the code cave, which are then injected into the target process' memory space. More...
 
class  IllegalInstructionGenerationException
 Exception thrown when an instruction cannot be generated, because the generated instruction would be illegal. An example of that is trying to generate a "short" branching instruction that would try to perform a jump larger than the maximum value of a byte, which is impossible. More...
 
class  InjectionArtifactNotFoundException
 Exception thrown whenever an operation fails to find an injection artifact (which includes injection variables and code caves). More...
 
class  InjectionFailureException
 An exception thrown by the Injector<TMemoryAlterationSetID, TCodeCave, TVariable> to indicate the injection method has failed. More...
 
class  Injector
 Implements the logic behind the injection of code caves and variables into a target process' memory space. More...
 
class  InjectorException
 A generic expection that might be thrown by the Injector<TMemoryAlterationSetID, TCodeCave, TVariable> class. More...
 
class  InjectorGenericParametersException
 Exception thrown when trying to instantiate an Injector<TMemoryAlterationSetID, TCodeCave, TVariable> whose generic parameters are illegal for some reason. All Injector<TMemoryAlterationSetID, TCodeCave, TVariable>'s generic parameters should be enumerations. More...
 
class  InstanceAlreadyInjectedException
 Exception thrown when a method that requires the Injector<TMemoryAlterationSetID, TCodeCave, TVariable> instance to be in "NOT injected" state, but this condition is not met. The Injector<TMemoryAlterationSetID, TCodeCave, TVariable> is put in "injected" state when a call to Injector<TMemoryAlterationSetID, TCodeCave, TVariable>.Inject() or Injector<TMemoryAlterationSetID, TCodeCave, TVariable>.Inject(MemoryAddress) is made. More...
 
class  InstanceNotInjectedException
 Exception thrown when a method that requires the Injector<TMemoryAlterationSetID, TCodeCave, TVariable> instance to be in "injected" state, but this condition is not met. The Injector<TMemoryAlterationSetID, TCodeCave, TVariable> is put in "injected" state when a call to Injector<TMemoryAlterationSetID, TCodeCave, TVariable>.Inject() or Injector<TMemoryAlterationSetID, TCodeCave, TVariable>.Inject(MemoryAddress) is made. More...
 
class  InstructionTooLargeException
 Exception thrown when the Injector<TMemoryAlterationSetID, TCodeCave, TVariable> tries to generate an instruction whose size (in bytes) is larger than the space given for the generation of that instruction. More...
 
class  MemoryAlterationBase
 Base class for all memory alterations that can be performed through the Injector<TMemoryAlterationSetID, TCodeCave, TVariable> class. More...
 
class  MemoryAlterationNOP
 Represents a memory alteration that overwrites instructions of the target process' memory space with NOP instructions. More...
 
class  MemoryAlterationPoke
 Represents a memory alteration that overwrites instructions of the target process' memory space with custom bytes. More...
 
class  MemoryAlterationX86BranchInstruction
 Represents a memory alteration that overwrites instructions of the target process' memory space with an x86 branch instruction. More...
 
class  UnmatchedDataTypeException
 Exception thrown when trying to perform an operation involving injection variables, and the data type used is different from the data type of the injection variable. Read/write operations on injection variables must ALWAYS match the exact type declared for the injection variable. More...
 
class  UnsupportedInstructionGenerationException
 Exception thrown when the Injector<TMemoryAlterationSetID, TCodeCave, TVariable> is unable to generate a given instruction, for some reason. More...
 
class  VariableDefinition
 Keeps the metadata related to an injection variable. More...
 
class  VirtualMemoryAllocationException
 An exception thrown by the Injector<TMemoryAlterationSetID, TCodeCave, TVariable>.Inject() method to indicate that it was unable to allocate virtual memory in the target process' memory space. More...
 
class  X86Constants
 This class is used to keep low-level definitions, such as opcodes that can be used to generate x86 code.