Поиск исполняемого кода нативного метода в библиотеке *.so
Доброго вечера! При реверсе одного занятного приложения под андроид наткнулся на такую проблему. Из жавы происходит вызов нативного метода func(int i) из библиотеки xxx.so. Но данный метод отсутствует в списке экспортируемых этой библиотеки. Как так? Ведь когда мы объявляем нативный метод в жаве используя JNI, то пишем так:
extern "C"
JNIEXPORT jstring
JNICALL
Java_com_test_MainActivity_stringFromJNI(
JNIEnv *env,
jobject /* this */) {
std::string hello = "Hello from C++";
return env->NewStringUTF(hello.c_str());
}
И этот метод оказывается в списке экспортируемых. Значит можно как то по-другому объявить и спрятать метод? Не используя JNI? И если спрятали, то как искать непосредственно код метода среди всего этого ARM-ассемблерного шлака? Спасибо!