mirror of
https://github.com/frida/frida-node.git
synced 2026-11-08 17:12:59 -10:00
45 lines
870 B
JavaScript
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);
|
|
});
|