我正在尝试分析在 android 上运行的 .so 文件。将文件加载到 IDA 我无法发现 JNI_onLoad。所以我将 .so 转储到内存中,但我仍然无法发现 JNI_onLoad。
查看字符串窗口,我可以看到一个字符串“JNI_onLoad”,但没有在任何地方引用它。该库还应包含 JNI 本机方法,但我找不到任何方法。
所以我的问题是,JNI_onLoad 在哪里?必须有 JNI_onLoad 吗?以及调用 java 类如何知道在哪里可以找到它的本机函数?
以下是 IDA 列出的导出:
Name Address Ordinal
---- ------- -------
0008A044
/linker 0008A064
0008B098
ס 0008AFCC
0008A990
0008A16C
r 0008A43C
0008A464
ƒ 0008A4B8
0008A784
0008A988
0008AB24
0008AB4C
0008AED0
. 0008AED8
0008AEE0
0008AF44
0008AF7C
h 0008AF90
0008B07C
0008C808
0008C85C
0008C0E8
0008B5E4
} 0008B5EC
0008B690
0008C2D8
0008C0C0
0008C12C
ט 0008C184
פ 0008C0A4
½ 0008C198
0008C1BC
| 0008C1E0
0008C228
_« 0008C660
0008C6B0
0008C6CC
» 0008C6D4
נ» 0008C6DC
_» 0008C6E4
» 0008C6EC
_ 0008C774
0008C790
0008C7A4
_ 0008C7CC
ר_ 0008C7E0
0008CAE8