如何在 android 上跟踪本机库中的执行路径?

How to trace execution path in native library on android?

要在 Android(.so 文件)上对本机库进行逆向工程,我需要挂接到该库中的函数调用。

使用 ghidra(或类似工具)我得到了相当不错的反编译代码。然而,我可以访问的两个商业调试器(IDA 7.0 和 JEB)无法使用,因为它们非常慢并最终崩溃(它们甚至没有充分利用可用的硬件)。

使用 Frida,我可以跟踪 Java 中所有方法的入口/出口点,包括本机方法。但在我失明之后。

我可以使用Frida 来跟踪arm 原生代码吗? (知道符号名称)

是的。

Interceptor.attach(Module.findExportByName('libsomething.so', 'SymbolName'), {
  onEnter: function (args) {
    console.log('onEnter');
  },
  // onLeave..
});