如何在 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..
});
要在 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..
});