• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Как создать оверлей для android

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
5 Авг 2020
Сообщения
2
Реакции
0
Всех ку! Не так давно в мои руки попал дамп игры на андроид, и не долго думая я решился сделать свой root чит. Но теперь самый главный вопрос, как создать оверлей, через windowmanager пытался, но сквозь него не идёт касание на рабочий стол
Буду рад любой помоги!

Моя либка (native-lib):
Expand Collapse Copy
#include <jni.h>
#include <android/log.h>
#include "imgui/imgui.h"
#include "imgui/imgui_impl_opengl3.h"
#include <GLES3/gl3.h>

#define LOG_TAG "ImGuiOverlay"
#define LOGD(...) [B]android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS[/B])

static bool initialized = false;

extern "C" JNIEXPORT void JNICALL
Java_com_example_myapplication_MyRenderer_startOverlayNative(JNIEnv *env, jobject thiz, jint width, jint height, jfloat touchX, jfloat touchY, jboolean isTouching) {
    if (!initialized) {
        IMGUI_CHECKVERSION();
        ImGui::CreateContext();
        ImGui_ImplOpenGL3_Init("#version 300 es");
        initialized = true;
        LOGD("ImGui Initialized");
    }

    ImGuiIO& io = ImGui::GetIO();
    io.DisplaySize = ImVec2(width, height);
    io.MousePos = isTouching ? ImVec2(touchX, touchY) : ImVec2(-FLT_MAX, -FLT_MAX);
    io.MouseDown[0] = isTouching;

    glClearColor(0.0f, 0.0f, 0.0f, 0.5f);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    ImGui_ImplOpenGL3_NewFrame();
    ImGui::NewFrame();

    ImGui::Begin("Overlay Window", nullptr, ImGuiWindowFlags_NoTitleBar);
    ImGui::Text("Hello from ImGui on Android Overlay!");
    ImGui::End();

    ImGui::Render();
    ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData());
}

extern "C" JNIEXPORT void JNICALL
Java_com_example_myapplication_MyRenderer_cleanupOverlayNative(JNIEnv [I]env, jobject /[/I] this */) {
    if (initialized) {
        ImGui_ImplOpenGL3_Shutdown();
        ImGui::DestroyContext();
        initialized = false;
        LOGD("ImGui Context Destroyed");
    } else {
        LOGD("ImGui already uninitialized, skipping shutdown.");
    }
}
 
Назад
Сверху Снизу