本帖最后由 cqy666 于 2026-8-13 16:44 编辑
1.python安装:
[Python] 纯文本查看 复制代码
uv init
uv add objection frida frida-tools
2.listen.json:
[Python] 纯文本查看 复制代码
{
"interaction": {
"type": "listen",
"address": "0.0.0.0",
"port": 27042
}
}
3.打包apk:
[Python] 纯文本查看 复制代码
F:\newfrida\.venv\Scripts\objection.exe patchapk -s "F:\core\frida\合并apk\merged.apk" -c listen.json --architecture arm64-v8a
4.调用:
[Python] 纯文本查看 复制代码
F:\newfrida\.venv\Scripts\frida.exe -H 192.168.1.188:27042 -n Gadget
或
F:\newfrida\.venv\Scripts\frida.exe -H 192.168.1.188:27042 -n Gadget -l xx.js
5.打印模块.js:
[JavaScript] 纯文本查看 复制代码
// 收集所有模块信息
var modules = Process.enumerateModules().map(function (m, idx) {
return {
idx: idx,
name: m.name,
base: m.base.toString(),
size: (m.size / 1024).toFixed(1) + " KB",
path: m.path || "(unknown)"
};
});
// 按路径分组着色,便于区分来源
function tag(path) {
if (path.indexOf("/system/") !== -1 || path.indexOf("/apex/") !== -1) return "[SYS]";
if (path.indexOf("/data/app/") !== -1) return "[APP]";
if (path.indexOf("frida") !== -1 || path.indexOf("gadget") !== -1) return "[FRIDA]";
if (path.indexOf("/vendor/") !== -1) return "[VENDOR]";
return "[OTHER]";
}
var sysso = true
if (sysso) {
// 打印表头
console.log("");
console.log("╔═══════╦══════════════════════════════════════╦══════════════════╦═══════════╦════════╗");
console.log("║ # ║ Module Name ║ Base Address ║ Size ║ Tag ║");
console.log("╠═══════╬══════════════════════════════════════╬══════════════════╬═══════════╬════════╣");
modules.forEach(function (m) {
var t = tag(m.path);
console.log(
"║ " + String(m.idx).padStart(5) +
" ║ " + m.name.padEnd(36) +
" ║ " + m.base.padEnd(16) +
" ║ " + m.size.padStart(9) +
" ║ " + t.padEnd(6) + " ║"
);
});
console.log("╚═══════╩══════════════════════════════════════╩══════════════════╩═══════════╩════════╝");
console.log("\n📊 Total: " + modules.length + " modules loaded\n");
}
// 单独列出非系统模块(通常是你关心的)
console.log("--- Non-System Modules ---");
modules.filter(function (m) {
return tag(m.path) !== "[SYS]" && tag(m.path) !== "[VENDOR]";
}).forEach(function (m) {
console.log(" " + m.idx + ". " + m.name + " → " + m.path);
});
6.预览效果
7.固化local.json:(需固定每次启动app自动运行脚本):
[Python] 纯文本查看 复制代码
{
"interaction": {
"type": "script",
"path": "/data/adb/hook1.js",
"on_change": "reload"
}
}
|