fmemory v0.1.0
fmemory 
A simple node add-on powered by gmem for reading/writing memory in a given process on GNU/Linux.
š§ more to come..
Since this is a Node addon, you'll need cmake-js, node-addon-api, and a C++ compiler (GCC or clang).
To install this addon simply type: npm install fmemory
if you get an error related to cmake-js, make sure that node.js is updated to the latest version and also make sure that cmake-js is installed globally and node-addon-api is installed as well. (It doesnt need to be installed globally)
The usage is pretty straight-forward.
Here's how:
const fmemory = require("fmemory");
const clientStateAddress = 0xDEADBEEF
const deltaTickOffset = 0x123
const main = (() => {
// get process id
const processID = fmemory.getProcessID("csgo_linux64")
// get engine module base address
const engineModuleBaseAddress = fmemory.getModuleBaseAddr("engine_client.so", processID)
// another way to get the module base address
// const engineModuleBaseAddress = fmemory.getModuleBaseAddr("engine_client.so", "csgo_linux64")
// get client state address
const pClientState = fmemory.readMemory(engineModuleBaseAddress + clientStateAddress, fmemory.INT)
if (pClientState) {
// force update
fmemory.writeMemory(pClientState + deltaTickOffset, -1 /* <- value */, fmemory.BYTE)
}
})()NOTE: This works with Wine/Proton as well. (fmemory still needs improvements on this area, but it works.)
When using writeMemory or readMemory functions, you will need to tell the data type parameter.
It can either be a string:
"int32", "uint32", "int64",
"uint64", "long", "ulong",
"short", "float", "double",
"byte", "char", "uchar",
"bool" "string", "pointer"Or you can use one of the constants provided by the library:
fmemory.INT, fmemory.UINT, fmemory.INT64,
fmemory.UINT64, fmemory.LONG, fmemory.ULONG,
fmemory.SHORT, fmemory.FLOAT, fmemory.DOUBLE,
fmemory.BYTE, fmemory.CHAR, fmemory.UCHAR,
fmemory.BOOL, fmemory.STRING, fmemory.POINTERfmemory is available under the MIT License
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago