LINUX.ORG.RU

Сообщения Nebesny

 

Поиск исполняемого кода нативного метода в библиотеке *.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-ассемблерного шлака? Спасибо!

 , , , ,

Nebesny
()

RSS подписка на новые темы