Hello!
In this code, it fails to read the memory from the first pointer, when it sums the offset and tries to readMemory again the new address. Elden Ring is a x64 game, I compiled memoryjs with build64 and I had no problem getting the first ptr value. The problem comes with the second readMemory call, because the first returns a BigInt, then when I call again I must pass an address that is a BigInt, and then it shows me that error:
C:\Users\alope\source\repos\electronTestWindows\node_modules\memoryjs\index.js:49
return memoryjs.readMemory(handle, address, dataType.toLowerCase());
^
Error: Error in native callback
at Object.readMemory (C:\Users\alope\source\repos\electronTestWindows\node_modules\memoryjs\index.js:49:21)
at readMemory (C:\Users\alope\source\repos\electronTestWindows\test.js:16:26)
at Object.<anonymous> (C:\Users\alope\source\repos\electronTestWindows\test.js:24:1)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:23:47
Node.js v18.17.1
Some useful data:
Object process
{
dwSize: 304,
th32ProcessID: 30796,
cntThreads: 97,
th32ParentProcessID: 32248,
pcPriClassBase: 8,
szExeFile: 'eldenring.exe',
handle: 564,
modBaseAddr: 2061870039768
}
That's my code:
const memoryjs = require("memoryjs");
function readMemory() {
const processName = "eldenring.exe";
const offset1 = 0x3cd4d88;
const offset2 = 0x94;
const processObject = memoryjs.openProcess(processName);
const baseAddress = processObject.modBaseAddr;
const ptrToValue = memoryjs.readMemory(
processObject.handle,
baseAddress + offset1,
memoryjs.PTR
);
const value = memoryjs.readMemory(
processObject.handle,
ptrToValue + BigInt(offset2),
memoryjs.INT64
);
console.log(value);
}
readMemory();
Thanks in advance!
Hello!
In this code, it fails to read the memory from the first pointer, when it sums the offset and tries to
readMemoryagain the new address. Elden Ring is a x64 game, I compiled memoryjs with build64 and I had no problem getting the first ptr value. The problem comes with the secondreadMemorycall, because the first returns a BigInt, then when I call again I must pass an address that is a BigInt, and then it shows me that error:Some useful data:
Object process
That's my code:
Thanks in advance!