Please ensure you have verified that both the memory address and the value you are reading or writing are correct. Improper use of these memory functions can lead to corrupted data, process crashes, or other unexpected and potentially unstable behavior within the targeted application. Use these functions only if you know exactly what you are doing.
Access
All memory C++ functions are exposed to your Lua script via a single global table namedmemory
. You access individual values by using the dot (.
) or bracket ([]
) operator on this table.
Memory Usage Example
Functions
This section lists all available C++ functions exposed within the globalmemory
table. These functions allow for low-level reading and writing of specific data types directly to and from process memory addresses.
get_base
Returns the game process’ base address.read_int8
Reads a signed 8-bit integer from the specified memory address.The memory address (a number) from which to read the 8-bit value.
read_int16
Reads a signed 16-bit integer from the specified memory address.The memory address (a number) from which to read the 16-bit value.
read_int32
Reads a signed 32-bit integer from the specified memory address.The memory address (a number) from which to read the 32-bit value.
read_int64
Reads a signed 64-bit integer from the specified memory address.The memory address (a number) from which to read the 64-bit value.
read_uint8
Reads an unsigned 8-bit integer from the specified memory address.The memory address (a number) from which to read the unsigned 8-bit value.
read_uint16
Reads an unsigned 16-bit integer from the specified memory address.The memory address (a number) from which to read the unsigned 16-bit value.
read_uint32
Reads an unsigned 32-bit integer from the specified memory address.The memory address (a number) from which to read the unsigned 32-bit value.
read_uint64
Reads an unsigned 64-bit integer from the specified memory address.The memory address (a number) from which to read the unsigned 64-bit value.
read_bool
Reads a boolean value from the specified memory address.The memory address (a number) from which to read the boolean value.
read_float
Reads a 32-bit floating-point number from the specified memory address.The memory address (a number) from which to read the float value.
read_double
Reads a 64-bit floating-point number from the specified memory address.The memory address (a number) from which to read the double value.
read_vector2
Reads a Vector2 from the specified memory address.The memory address (a number) from which to read the Vector2 value.
read_vector3
Reads a Vector3 from the specified memory address.The memory address (a number) from which to read the Vector3 value.
read_vector4
Reads a Vector4 from the specified memory address.The memory address (a number) from which to read the Vector4 value.
read_matrix3
Reads a Matrix3 from the specified memory address.The memory address (a number) from which to read the Matrix3 value.
read_matrix4
Reads a Matrix4 from the specified memory address.The memory address (a number) from which to read the Matrix4 value.
read_cframe
Reads a CFrame (CoordinateFrame) from the specified memory address.The memory address (a number) from which to read the CFrame value.
read_rect
Reads a Rect from the specified memory address.The memory address (a number) from which to read the Rect value.
read_udim
Reads a UDim from the specified memory address.The memory address (a number) from which to read the UDim value.
read_udim2
Reads a UDim2 from the specified memory address.The memory address (a number) from which to read the UDim2 value.
read_color3
Reads a Color3 from the specified memory address.The memory address (a number) from which to read the Color3 value.
read_color4
Reads a Color4 from the specified memory address.The memory address (a number) from which to read the Color4 value.
read_string
Reads a string from the specified memory address with a given size.The memory address (a number) from which to read the string.
The size of the string to read in bytes.
read_byte
Reads a single byte (unsigned 8-bit integer) from the specified memory address.The memory address (a number) from which to read the byte value.
read_bytes
Reads multiple bytes from the specified memory address and returns them as a table.The memory address (a number) from which to read the bytes.
The number of bytes to read.
write_int8
Writes a signed 8-bit integer to the specified memory address.The memory address (a number) to which to write the value.
The signed 8-bit integer value to write.
write_int16
Writes a signed 16-bit integer to the specified memory address.The memory address (a number) to which to write the value.
The signed 16-bit integer value to write.
write_int32
Writes a signed 32-bit integer to the specified memory address.The memory address (a number) to which to write the value.
The signed 32-bit integer value to write.
write_int64
Writes a signed 64-bit integer to the specified memory address.The memory address (a number) to which to write the value.
The signed 64-bit integer value to write.
write_uint8
Writes an unsigned 8-bit integer to the specified memory address.The memory address (a number) to which to write the value.
The unsigned 8-bit integer value to write.
write_uint16
Writes an unsigned 16-bit integer to the specified memory address.The memory address (a number) to which to write the value.
The unsigned 16-bit integer value to write.
write_uint32
Writes an unsigned 32-bit integer to the specified memory address.The memory address (a number) to which to write the value.
The unsigned 32-bit integer value to write.
write_uint64
Writes an unsigned 64-bit integer to the specified memory address.The memory address (a number) to which to write the value.
The unsigned 64-bit integer value to write.
write_bool
Writes a boolean value to the specified memory address.The memory address (a number) to which to write the value.
The boolean value to write.
write_float
Writes a 32-bit floating-point number to the specified memory address.The memory address (a number) to which to write the value.
The float value to write.
write_double
Writes a 64-bit floating-point number to the specified memory address.The memory address (a number) to which to write the value.
The double value to write.
write_vector2
Writes a Vector2 to the specified memory address.The memory address (a number) to which to write the value.
The Vector2 value to write.
write_vector3
Writes a Vector3 to the specified memory address.The memory address (a number) to which to write the value.
The Vector3 value to write.
write_vector4
Writes a Vector4 to the specified memory address.The memory address (a number) to which to write the value.
The Vector4 value to write.
write_matrix3
Writes a Matrix3 to the specified memory address.The memory address (a number) to which to write the value.
The Matrix3 value to write.
write_matrix4
Writes a Matrix4 to the specified memory address.The memory address (a number) to which to write the value.
The Matrix4 value to write.
write_cframe
Writes a CFrame (CoordinateFrame) to the specified memory address.The memory address (a number) to which to write the value.
The CFrame value to write.
write_rect
Writes a Rect to the specified memory address.The memory address (a number) to which to write the value.
The Rect value to write.
write_udim
Writes a UDim to the specified memory address.The memory address (a number) to which to write the value.
The UDim value to write.
write_udim2
Writes a UDim2 to the specified memory address.The memory address (a number) to which to write the value.
The UDim2 value to write.
write_color3
Writes a Color3 to the specified memory address.The memory address (a number) to which to write the value.
The Color3 value to write.
write_color4
Writes a Color4 to the specified memory address.The memory address (a number) to which to write the value.
The Color4 value to write.
write_string
Writes a string to the specified memory address.The memory address (a number) to which to write the string.
The string value to write.
write_byte
Writes a single byte (unsigned 8-bit integer) to the specified memory address.The memory address (a number) to which to write the value.
The byte value to write.
write_bytes
Writes multiple bytes to the specified memory address from a table.The memory address (a number) to which to write the bytes.
A table containing the byte values to write.