Skip to content

Android NDK 与 JNI ​

🔗 Native 与 Java 互调的桥梁,理解 r0capture 双层 hook。

JNI (Java Native Interface) ​

JNI 让 Java 代码调用 native(C/C++)函数,也允许 native 调 Java。

r0capture 的两层 hook ​

层hook 什么工具
JavaSocket/KeyStore 方法Java.use
NativeSSL_read/writeInterceptor.attach

两层互补:TLS 流量在 native 层抓(拿到解密后明文),裸 TCP/证书操作在 Java 层抓。

NDK ​

NDK 是 Android 开发 native 代码的工具链(编译器、头文件、libc)。App 自带的 .so 就是 NDK 编译的。

JNI 函数签名 ​

Java 方法在 native 端有 mangled 名,如:

  • Java_com_x_MyClass_nativeMethod

Frida hook native 不需管 JNI 名,直接 hook native 库里的导出符号(如 SSL_write)。

相关文档 ​

基于 VitePress 构建 · 教学用途