逆向JNI动态注册的方法
2020-11-29 本文已影响0人
Mikey扬
注册的函数 RegisterNatives
(*env)->RegisterNatives(env, clazz, nativeMethod, jint);
clazz: 调用native方法的java类, 使用FindClass(env, java类)查找;
nativeMethod: c文件中定义的结构体,讲java中的方法名与c做使用的方法名做映射,
类型为JNINativeMethod
jint: nativeMethod中对应的方法个数
JNI_onLoad(JavaVM* vm, void* reserved)函数最后必须放回 版本值
IDA中可通过右键RegisterNatives选择Force call type 显示出具体的实参,从而定位结构参数
jni_all.h文件: https://gist.github.com/Jinmo/048776db75067dcd6c57f1154e65b868