Memory - Rob--/memoryjs GitHub Wiki
Details
When calling certain functions a process handle is required. This is found by calling the openProcess
function on a process.
Data Types
Some functions also require a dataType
parameter to denote the type of data being read or written. This can either be a string, or a constant from within the library:
Data Type | String | Constant |
---|---|---|
byte | "byte" | memoryjs.BYTE |
int | "int" | memoryjs.INT |
32 bit signed integer | "int32" | memoryjs.INT32 |
32 bit unsigned integer | "uint32" | memoryjs.UINT32 |
64 bit signed integer | "int64" | memoryjs.INT64 |
64 bit unsigned integer | "uint64" | memoryjs.UINT64 |
dword (uint32) | "dword" | memoryjs.DWORD |
short (int16) | "short" | memoryjs.SHORT |
long (int32) | "long" | memoryjs.LONG |
float | "float" | memoryjs.FLOAT |
double | "double" | memoryjs.DOUBLE |
boolean | "bool" | memoryjs.BOOL |
boolean | "boolean" | memoryjs.BOOLEAN |
pointer | "ptr" | memoryjs.PTR |
pointer | "pointer" | memoryjs.POINTER |
string | "str" | memoryjs.STR |
string | "string" | memoryjs.STRING |
vector3 | "vec3" | memoryjs.VEC3 |
vector3 | "vector3" | memoryjs.VECTOR3 |
vector4 | "vec4" | memoryjs.VEC4 |
vector4 | "vector4" | memoryjs.VECTOR4 |
Vectors
When using the vector3
or vector4
data types, the library expects certain standard forms.
Vector3 is a data structure of three floats:
const vector3 = { x: 0.0, y: 0.0, z: 0.0 };
Vector4 is a data structure of four floats:
const vector4 = { w: 0.0, x: 0.0, y: 0.0, z: 0.0 };
Functions
readMemory(handle, address, dataType[, callback])
- handle - the handle of the process, retrieved from calling
openProcess
- address - the address in memory to read from
- dataType - the type of data being read
- callback - has two parameters:
- error - error message (if one occurred)
- value - the value read from memory
returns (if no callback provided): the value read from memory
Reads the memory at a given address.
// synchronously
const value = memoryjs.readMemory(processObject.handle, address, dataType);
// asynchronously
memoryjs.readMemory(processObject.handle, address, dataType, (error, value) => {
});
writeMemory(handle, address, value, dataType)
- handle - the handle of the process, retrieved from calling
openProcess
- address - the address in memory to write to
- value - the data to write to memory
- dataType - the type of data being written
- callback - has two parameters:
- error - error message (if one occurred)
memoryjs.writeMemory(processObject.handle, address, value, dataType);