Rob-- / memoryjs

Read and write process memory in Node.js (Windows API functions exposed via Node bindings)
MIT License
632 stars 86 forks source link

Find address from buffer like in memfind package #73

Open webkitten opened 3 years ago

webkitten commented 3 years ago

Hello! I'm creating nw.js app with scanning memory, but memfind package doesn't work with nw

how to find address from buffer like this:

const MemoryFinder = require('memfind');
const mf = new MemoryFinder('notepad.exe');

mf.find('Hello World', block => {
    console.log(block.hexAddress, block.get(-5, 10).toString('binary'));
    // return true to stop find
});

// or

let addr;
const bufToFind = Buffer.from('Hello World');
mf.scan(block => {
    // don't put cpu-intensive code inside scan loop, e.g. Buffer.from()
    if (block.match(bufToFind)) {
        console.log(block.hexAddress, block.get(0, 20).toString());
        if (block.get(20)==0x65) {
            addr = block.address;
            return true;
            // return true to stop scan
        }
    }
});
if (addr) console.log(mf.read(addr-10, 128));

it returns addresses like:

5ab2780
5ab2960
5ab2978
5ab2b40
5ab2b58