Files
frida-node/examples/hook_function.js
T

45 lines
870 B
JavaScript

const frida = require('..');
const [ , , processName, processAddress ] = process.argv;
const source = `
Interceptor.attach(ptr('@ADDRESS@'), {
onEnter: function (args) {
send(args[0].toInt32());
}
});
`;
let script = null;
async function main() {
process.on('SIGTERM', stop);
process.on('SIGINT', stop);
const session = await frida.attach(processName);
session.detached.connect(onDetached);
script = await session.createScript(source.replace('@ADDRESS@', processAddress));
script.message.connect(message => {
console.log('[*] Message:', message);
});
await script.load();
console.log('[*] Script loaded');
}
function stop() {
if (script !== null) {
script.unload();
script = null;
}
}
function onDetached(reason) {
console.log(`[*] onDetached(reason=${reason})`);
}
main()
.catch(e => {
console.error(e);
});