使用frida查找so中的所有导出函数

问题描述 投票:0回答:2

如果我使用

Module.findExportByName("libc.so", "fopen")
我可以在libc.so中找到
fopen
地址

如何使用

frida
找到“libc.so”中的所有函数?

javascript android shared-libraries frida
2个回答
0
投票

在 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);
}

-1
投票

如果您只想从

.so
模块获取所有导出,您可以通过以下命令使用
frida+objection
objection -g YourApplicationName or com.package.name explore

memory list exports libc.so

© www.soinside.com 2019 - 2024. All rights reserved.