X Tutup
The Wayback Machine - https://web.archive.org/web/20201201072743/https://github.com/otvv/fmemory
Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 

README.md

fmemory Codacy Badge

A simple node add-on for reading and writing memory on GNU/Linux.


features:
  • memory reading
  • memory writing
  • get process id through process name
  • get module base address through module name
  • get call address
  • get the absolute location of an address (get absolute address)

todo:

  • vector3d and vector2d support (read, write)
  • ability to call virtual functions
  • shellcode execution (maybe)

🚧 more to come..

installing:

Since this is a Node addon, you'll need node-gyp, node-addon-api and a C++ compiler (GCC).

To install this addon simply type: npm install fmemory

usage:

The usage is pretty straight-forward.

Here's how:

const fmemory = require("fmemory");

const clientStateAddress = 0xDEADBEEF
const deltaTickOffset = 0x123

(function main() {

  // get process id
  const processID = fmemory.getProcessID("csgo_linux64")
  
  // get engine module base address
  const engineModuleBaseAddress = fmemory.getModuleBaseAddress("engine_client.so", processID)
  
  // get client state address
  const pClientState = fmemory.readMem(engineModuleBaseAddress + clientStateAddress, fmemory.INT)

  if (pClientState) {
    
    // force update
    fmemory.writeMem(pClientState + deltaTickOffset, -1 /* <- value */, fmemory.BYTE)
  } 
  
})()

NOTE: This works with Wine/Proton as well.

documentation:

When using the writeMem or readMem you will need to tell the data type parameter, it can either be a string:

"int", "uint", "long",
"ulong", "short", "float",
"double", "byte", "bool"
"string"

Or you can use one of the constants provided by the library:

fmemory.INT, fmemory.UINT, fmemory.LONG,
fmemory.ULONG, fmemory.SHORT, fmemory.FLOAT,
fmemory.DOUBLE, fmemory.BYTE, fmemory.BOOL,
fmemory.STRING

fmemory is available under the MIT License

About

A simple node addon for reading and writing memory on GNU/Linux.

Topics

Resources

License

You can’t perform that action at this time.
X Tutup