如果我使用
Module.findExportByName("libc.so", "fopen")
我可以在libc.so中找到fopen
地址
如何使用
frida
找到“libc.so”中的所有函数?
在 Frida 脚本中,使用
Process.getModuleByName
获取模块对象,然后使用 Exports
迭代 Module.enumerateExports
:
// Get the "libc.so" module by name
var libcModule = Process.getModuleByName(targetLibrary);
if (libcModule) {
console.log("[*] Found target library: " + libcModule.name);
// Enumerate and log the exported functions
libcModule.enumerateExports({
onMatch: function (exp) {
console.log("[+] Exported Function: " + exp.name);
},
onComplete: function () {
console.log("[*] Enumeration complete.");
}
});
} else {
console.log("[-] Target library not found: " + targetLibrary);
}
如果您只想从
.so
模块获取所有导出,您可以通过以下命令使用 frida+objection
:
objection -g YourApplicationName or com.package.name explore
memory list exports libc.so