Исправил получение базового адреса

This commit is contained in:
2025-04-06 20:59:53 +03:00
parent 6dd4612a88
commit 2fcc4a2a57
8 changed files with 334 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
#include <cstring>
#include <cstdio>
#include <android/log.h>
#include <jni.h>
#include <thread>
#include <chrono>
#include "main.h"
#include "util/util.h"
#include <link.h>
#include <unistd.h>
// Callback для dl_iterate_phdr
static int find_libapp_callback(struct dl_phdr_info *info, size_t size, void *data) {
if (strstr(info->dlpi_name, "libapp.so")) {
libapp = (void *) info->dlpi_addr;
return 1; // Останавливаем перебор
}
return 0;
}
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved) {
// Ищем libapp.so
dl_iterate_phdr(find_libapp_callback, NULL);
if (libapp) {
__android_log_print(ANDROID_LOG_INFO, "MyLib", "libapp.so base: %p", libapp);
} else {
__android_log_print(ANDROID_LOG_ERROR, "MyLib", "libapp.so not found!");
return JNI_ERR;
}
return JNI_VERSION_1_6;
}