Skip to main content

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 named memory. 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 global memory 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.
number
required
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.
number
required
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.
number
required
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.
number
required
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.
number
required
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.
number
required
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.
number
required
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.
number
required
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.
number
required
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.
number
required
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.
number
required
The memory address (a number) from which to read the double value.

read_vector2

Reads a Vector2 from the specified memory address.
number
required
The memory address (a number) from which to read the Vector2 value.

read_vector3

Reads a Vector3 from the specified memory address.
number
required
The memory address (a number) from which to read the Vector3 value.

read_vector4

Reads a Vector4 from the specified memory address.
number
required
The memory address (a number) from which to read the Vector4 value.

read_matrix3

Reads a Matrix3 from the specified memory address.
number
required
The memory address (a number) from which to read the Matrix3 value.

read_matrix4

Reads a Matrix4 from the specified memory address.
number
required
The memory address (a number) from which to read the Matrix4 value.

read_cframe

Reads a CFrame (CoordinateFrame) from the specified memory address.
number
required
The memory address (a number) from which to read the CFrame value.

read_rect

Reads a Rect from the specified memory address.
number
required
The memory address (a number) from which to read the Rect value.

read_udim

Reads a UDim from the specified memory address.
number
required
The memory address (a number) from which to read the UDim value.

read_udim2

Reads a UDim2 from the specified memory address.
number
required
The memory address (a number) from which to read the UDim2 value.

read_color3

Reads a Color3 from the specified memory address.
number
required
The memory address (a number) from which to read the Color3 value.

read_color4

Reads a Color4 from the specified memory address.
number
required
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.
number
required
The memory address (a number) from which to read the string.
number
required
The size of the string to read in bytes.

read_byte

Reads a single byte (unsigned 8-bit integer) from the specified memory address.
number
required
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.
number
required
The memory address (a number) from which to read the bytes.
number
required
The number of bytes to read.

write_int8

Writes a signed 8-bit integer to the specified memory address.
number
required
The memory address (a number) to which to write the value.
number
required
The signed 8-bit integer value to write.

write_int16

Writes a signed 16-bit integer to the specified memory address.
number
required
The memory address (a number) to which to write the value.
number
required
The signed 16-bit integer value to write.

write_int32

Writes a signed 32-bit integer to the specified memory address.
number
required
The memory address (a number) to which to write the value.
number
required
The signed 32-bit integer value to write.

write_int64

Writes a signed 64-bit integer to the specified memory address.
number
required
The memory address (a number) to which to write the value.
number
required
The signed 64-bit integer value to write.

write_uint8

Writes an unsigned 8-bit integer to the specified memory address.
number
required
The memory address (a number) to which to write the value.
number
required
The unsigned 8-bit integer value to write.

write_uint16

Writes an unsigned 16-bit integer to the specified memory address.
number
required
The memory address (a number) to which to write the value.
number
required
The unsigned 16-bit integer value to write.

write_uint32

Writes an unsigned 32-bit integer to the specified memory address.
number
required
The memory address (a number) to which to write the value.
required
The unsigned 32-bit integer value to write.

write_uint64

Writes an unsigned 64-bit integer to the specified memory address.
number
required
The memory address (a number) to which to write the value.
number
required
The unsigned 64-bit integer value to write.

write_bool

Writes a boolean value to the specified memory address.
number
required
The memory address (a number) to which to write the value.
boolean
required
The boolean value to write.

write_float

Writes a 32-bit floating-point number to the specified memory address.
number
required
The memory address (a number) to which to write the value.
number
required
The float value to write.

write_double

Writes a 64-bit floating-point number to the specified memory address.
number
required
The memory address (a number) to which to write the value.
number
required
The double value to write.

write_vector2

Writes a Vector2 to the specified memory address.
number
required
The memory address (a number) to which to write the value.
Vector2
required
The Vector2 value to write.

write_vector3

Writes a Vector3 to the specified memory address.
number
required
The memory address (a number) to which to write the value.
Vector3
required
The Vector3 value to write.

write_vector4

Writes a Vector4 to the specified memory address.
number
required
The memory address (a number) to which to write the value.
Vector4
required
The Vector4 value to write.

write_matrix3

Writes a Matrix3 to the specified memory address.
number
required
The memory address (a number) to which to write the value.
Matrix3
required
The Matrix3 value to write.

write_matrix4

Writes a Matrix4 to the specified memory address.
number
required
The memory address (a number) to which to write the value.
Matrix4
required
The Matrix4 value to write.

write_cframe

Writes a CFrame (CoordinateFrame) to the specified memory address.
number
required
The memory address (a number) to which to write the value.
CFrame
required
The CFrame value to write.

write_rect

Writes a Rect to the specified memory address.
number
required
The memory address (a number) to which to write the value.
Rect
required
The Rect value to write.

write_udim

Writes a UDim to the specified memory address.
number
required
The memory address (a number) to which to write the value.
UDim
required
The UDim value to write.

write_udim2

Writes a UDim2 to the specified memory address.
number
required
The memory address (a number) to which to write the value.
UDim2
required
The UDim2 value to write.

write_color3

Writes a Color3 to the specified memory address.
number
required
The memory address (a number) to which to write the value.
Color3
required
The Color3 value to write.

write_color4

Writes a Color4 to the specified memory address.
number
required
The memory address (a number) to which to write the value.
Color4
required
The Color4 value to write.

write_string

Writes a string to the specified memory address.
number
required
The memory address (a number) to which to write the string.
string
required
The string value to write.

write_byte

Writes a single byte (unsigned 8-bit integer) to the specified memory address.
number
required
The memory address (a number) to which to write the value.
number
required
The byte value to write.

write_bytes

Writes multiple bytes to the specified memory address from a table.
number
required
The memory address (a number) to which to write the bytes.
table
required
A table containing the byte values to write.