uniref.define.types
- class uniref.define.types._BasicType(injector: object, value: Any, elem_size: int, auto_release: bool = True)
Base class of
Bool,Char,UChar,Int16,UInt16,Int32,UInt32,Int64,UInt64,Float,DoubleandPointer.Examples:
>>> from uniref import WinUniRef >>> ref = WinUniRef("game.exe") >>> int32 = ref.injector.new_int32(1) >>> type(int32) <class 'uniref.define.types.Int32'> >>> hex(int32.address) '0xd00000' >>> int32.value 1 >>> int32.value = 12345 >>> int32.value 12345 >>> int32.release()
- property address: int
variable address
- property auto_release: bool
auto release
- release() None
Release the memory.
- set_auto_release(value: bool) None
Set whether to release automatically.
- set_value(value: Any) None
Set variable value.
- property value: int
variable value
- class uniref.define.types._ArrayType(injector: object, elem_size: int, address: int = 0, element_count: int = 0, elements: Optional[List[Any]] = None, auto_release: bool = True)
Base class of
BoolArray,CharArray,UCharArray,Int16Array,UInt16Array,Int32Array,UInt32Array,Int64Array,UInt64Array,FloatArray,DoubleArrayandPointerArray.Examples:
>>> from uniref import WinUniRef >>> ref = WinUniRef("game.exe") >>> array = ref.injector.new_double_array([1.5, 5.1, 9.2]) >>> type(array) <class 'uniref.define.types.DoubleArray'> >>> hex(array.address) '0xe00000' >>> array.elem_count 3 >>> array.elements [1.5, 5.1, 9.2] >>> array[0] 1.5 >>> array[0] = 2.5 >>> array.elements [2.5, 5.1, 9.2] >>> array.elements = [0.1, 0.2, 0.3] >>> array.elements [0.1, 0.2, 0.3] >>> array.release()
- property address: int
array address
- property auto_release: bool
auto release
- property elem_count: int
number of array elements
- property elements: List[Any]
array elements
- release() None
Release the memory.
- set_auto_release(value: bool) None
Set whether to release automatically.
- set_elements(value: List[Any]) None
Update array elements.
- class uniref.define.types.Bool(injector: object, value: bool, auto_release: bool = True)
Bases:
_BasicType
- class uniref.define.types.BoolArray(injector: object, address: int = 0, element_count: int = 0, elements: Optional[List[bool]] = None, auto_release: bool = True)
Bases:
_ArrayType
- class uniref.define.types.CString(injector: object, value: str, auto_release: bool = True)
Bases:
objectThis class’s instance is returned by calling
Injector.new_c_string- property address: int
string address
- property auto_release: bool
auto release
- release() None
Release the memory.
- set_auto_release(value: bool) None
Set whether to release automatically.
- property value: str
string value
- class uniref.define.types.Char(injector: object, value: int, auto_release: bool = True)
Bases:
_BasicType
- class uniref.define.types.CharArray(injector: object, address: int = 0, element_count: int = 0, elements: Optional[List[int]] = None, auto_release: bool = True)
Bases:
_ArrayType
- class uniref.define.types.Double(injector: object, value: float, auto_release: bool = True)
Bases:
_BasicType
- class uniref.define.types.DoubleArray(injector: object, address: int = 0, element_count: int = 0, elements: Optional[List[float]] = None, auto_release: bool = True)
Bases:
_ArrayType
- class uniref.define.types.Float(injector: object, value: float, auto_release: bool = True)
Bases:
_BasicType
- class uniref.define.types.FloatArray(injector: object, address: int = 0, element_count: int = 0, elements: Optional[List[float]] = None, auto_release: bool = True)
Bases:
_ArrayType
- class uniref.define.types.Int16(injector: object, value: int, auto_release: bool = True)
Bases:
_BasicType
- class uniref.define.types.Int16Array(injector: object, address: int = 0, element_count: int = 0, elements: Optional[List[int]] = None, auto_release: bool = True)
Bases:
_ArrayType
- class uniref.define.types.Int32(injector: object, value: int, auto_release: bool = True)
Bases:
_BasicType
- class uniref.define.types.Int32Array(injector: object, address: int = 0, element_count: int = 0, elements: Optional[List[int]] = None, auto_release: bool = True)
Bases:
_ArrayType
- class uniref.define.types.Int64(injector: object, value: int, auto_release: bool = True)
Bases:
_BasicType
- class uniref.define.types.Int64Array(injector: object, address: int = 0, element_count: int = 0, elements: Optional[List[int]] = None, auto_release: bool = True)
Bases:
_ArrayType
- class uniref.define.types.Pointer(injector: object, value: int, auto_release: bool = True)
Bases:
_BasicType
- class uniref.define.types.PointerArray(injector: object, address: int = 0, element_count: int = 0, elements: Optional[List[int]] = None, auto_release: bool = True)
Bases:
_ArrayType
- class uniref.define.types.UChar(injector: object, value: int, auto_release: bool = True)
Bases:
_BasicType
- class uniref.define.types.UCharArray(injector: object, address: int = 0, element_count: int = 0, elements: Optional[List[int]] = None, auto_release: bool = True)
Bases:
_ArrayType
- class uniref.define.types.UInt16(injector: object, value: int, auto_release: bool = True)
Bases:
_BasicType
- class uniref.define.types.UInt16Array(injector: object, address: int = 0, element_count: int = 0, elements: Optional[List[int]] = None, auto_release: bool = True)
Bases:
_ArrayType
- class uniref.define.types.UInt32(injector: object, value: int, auto_release: bool = True)
Bases:
_BasicType
- class uniref.define.types.UInt32Array(injector: object, address: int = 0, element_count: int = 0, elements: Optional[List[int]] = None, auto_release: bool = True)
Bases:
_ArrayType
- class uniref.define.types.UInt64(injector: object, value: int, auto_release: bool = True)
Bases:
_BasicType
- class uniref.define.types.UInt64Array(injector: object, address: int = 0, element_count: int = 0, elements: Optional[List[int]] = None, auto_release: bool = True)
Bases:
_ArrayType