class documentation

class TaintedRegisterSlice(TaintedData):

View In Hierarchy

Models a slice of an architecture register, e.g. rax[0..4]

if 'begin' is None the slice starts at the first byte of the register If 'end' is None the slice ends at the last byte of the register If 'begin' and 'end' are None the slice represents all the bytes of the register

Examples

>>> # Register slice represents all C{rax} register
>>> reg_slice1 = TaintedRegisterSlice(reven2.arch.x64.rax)
>>> # Register slice represents bytes 2,3,4 and 5 of rbx
>>> reg_slice2 = TaintedRegisterSlice(reven2.arch.x64.rbx, 2, 6)
Method __init__ Initialize a TaintedRegisterSlice from a register, a begin byte and an end byte
Property register Property: The register that's being sliced.
Property begin Property: The index of the first byte in the slice.
Property end Property: The index of the first byte not in the slice.
Method __str__ Undocumented
Method __repr__ Undocumented
Method __eq__ Undocumented
Method __ne__ Undocumented
Method __hash__ Undocumented
Instance Variable _reg Undocumented
Instance Variable _begin Undocumented
Instance Variable _end Undocumented
Static Method _unpack Undocumented
Method _pack Undocumented
Method _is_full Undocumented
def __init__(self, reg, begin=None, end=None):

Initialize a TaintedRegisterSlice from a register, a begin byte and an end byte

If 'begin' is set to None the slice begins at byte 0 If 'end' is set to None the slice ends at byte reg.size_bytes

Examples

>>> reg_slice1 = TaintedRegisterSlice(reven2.arch.sse2.xmm)
>>> reg_slice1 = TaintedRegisterSlice(reven2.arch.sse2.xmm, 2)

Information

Parametersregthe register of the slice (type: Register)
beginthe first byte in the slice (type: integer)
endthe first byte not in the slice (type: integer)
RaisesTypeErrorif `reg` is not a Register instance
IndexErrorif 'begin' or 'end' are out of the register byte range
_reg =

Undocumented

_begin =

Undocumented

_end =

Undocumented

@staticmethod
def _unpack(rvn_reg_slice):

Undocumented

def _pack(self):

Undocumented

@property
register =

Property: The register that's being sliced.

Examples

>>> TaintedRegisterSlice(reven2.arch.x64.rax, 1, 2).register
Register(x64.rax)

Information

ReturnsA Register.
@property
begin =

Property: The index of the first byte in the slice.

Examples

>>> TaintedRegisterSlice(reven2.arch.x64.rax, 1, 2).begin
1

Information

ReturnsAn integer.
@property
end =

Property: The index of the first byte not in the slice.

Examples

>>> TaintedRegisterSlice(reven2.arch.x64.rax, 1, 2).end
2

Information

ReturnsAn integer.
def __str__(self):

Undocumented

def __repr__(self):

Undocumented

def _is_full(self):

Undocumented

def __eq__(self, r):

Undocumented

def __ne__(self, r):

Undocumented

def __hash__(self):

Undocumented

API Documentation for reven2, generated by pydoctor 21.2.2 at 2022-03-08 15:23:15.