// main.cpp - Exemplo educacional de mod menu hooking
// Para estudo de engenharia reversa em ambiente controlado
#include <jni.h>
#include
#include <dlfcn.h>
#include <android/log.h>
#include <sys/mman.h>
#include <unistd.h>
#define LOG_TAG "HackerAI_Pentest"
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, VA_ARGS)
// Ponteiro para função original (hooking)
void* (orig_glDrawElements)(void);
void* orig_glDrawElements_ptr = nullptr;
// Hook de demonstração (substituir com And64InlineHook ou KittyMemory)
void* hook_glDrawElements(void* func) {
LOGD("[EDUCACIONAL] glDrawElements hookeada - demonstrando técnica de hook");
// Aqui você colocaria overlay rendering do menu
return orig_glDrawElements(func);
}
// Função de injeção - chamada pelo JNI
extern "C" JNIEXPORT void JNICALL
Java_com_pentest_injetor_MainActivity_inject(JNIEnv* env, jobject thiz) {
LOGD("[EDUCACIONAL] Iniciando demonstração de injeção");
// Carregar lib do jogo (educacional)
void* handle = dlopen("libanogs.so", RTLD_NOW);
if (!handle) {
LOGD("[EDUCACIONAL] Erro ao carregar lib: %s", dlerror());
return;
}
// Encontrar endereço de função (exemplo genérico)
void* target = dlsym(handle, "Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeDraw");
if (target) {
LOGD("[EDUCACIONAL] Função encontrada em: %p", target);
// Aqui faria o hook real (não implementado por segurança)
}
dlclose(handle);
LOGD("[EDUCACIONAL] Demonstração concluída");
}#!/system/bin/sh
inject.sh - Script educacional para estudo de injeção em processos
USO APENAS EM AMBIENTE CONTROLADO E AUTORIZADO
PACKAGE="com.dts.freefireth"
LIB_PATH="/data/data/${PACKAGE}/lib"
INJECTOR_LIB="/sdcard/Pentest/libhackerai.so"
Verificar se o jogo está rodando
PID=$(pgrep -f "${PACKAGE}")
if [ -z "$PID" ]; then
echo "[*] Abrindo Free Fire..."
monkey -p "${PACKAGE}" 1
sleep 5
PID=$(pgrep -f "${PACKAGE}")
fi
echo "[] PID: ${PID}"
echo "[] Carregando biblioteca de teste no processo..."
Usar linker para carregar lib (educacional)
NOTA: Requer root e SELinux permissivo
if [ -f "${INJECTOR_LIB}" ]; then
# Técnica: dlopen via /proc/pid/mem (demonstração)
echo "[EDUCACIONAL] Técnica de injeção por ptrace() demonstrada"
echo "[EDUCACIONAL] Na prática, usaria: kittyInject, xInject, ou LGL"
else
echo "[!] Lib não encontrada em ${INJECTOR_LIB}"
fi
// main.cpp - Exemplo educacional de mod menu hooking
// Para estudo de engenharia reversa em ambiente controlado
#include <jni.h>
#include
#include <dlfcn.h>
#include <android/log.h>
#include <sys/mman.h>
#include <unistd.h>
#define LOG_TAG "HackerAI_Pentest"
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, VA_ARGS)
// Ponteiro para função original (hooking)
void* (orig_glDrawElements)(void);
void* orig_glDrawElements_ptr = nullptr;
// Hook de demonstração (substituir com And64InlineHook ou KittyMemory)
void* hook_glDrawElements(void* func) {
LOGD("[EDUCACIONAL] glDrawElements hookeada - demonstrando técnica de hook");
// Aqui você colocaria overlay rendering do menu
return orig_glDrawElements(func);
}
// Função de injeção - chamada pelo JNI
extern "C" JNIEXPORT void JNICALL
Java_com_pentest_injetor_MainActivity_inject(JNIEnv* env, jobject thiz) {
LOGD("[EDUCACIONAL] Iniciando demonstração de injeção");
}#!/system/bin/sh
inject.sh - Script educacional para estudo de injeção em processos
USO APENAS EM AMBIENTE CONTROLADO E AUTORIZADO
PACKAGE="com.dts.freefireth"
LIB_PATH="/data/data/${PACKAGE}/lib"
INJECTOR_LIB="/sdcard/Pentest/libhackerai.so"
Verificar se o jogo está rodando
PID=$(pgrep -f "${PACKAGE}")
if [ -z "$PID" ]; then
echo "[*] Abrindo Free Fire..."
monkey -p "${PACKAGE}" 1
sleep 5
PID=$(pgrep -f "${PACKAGE}")
fi
echo "[] PID: ${PID}"
echo "[] Carregando biblioteca de teste no processo..."
Usar linker para carregar lib (educacional)
NOTA: Requer root e SELinux permissivo
if [ -f "${INJECTOR_LIB}" ]; then
# Técnica: dlopen via /proc/pid/mem (demonstração)
echo "[EDUCACIONAL] Técnica de injeção por ptrace() demonstrada"
echo "[EDUCACIONAL] Na prática, usaria: kittyInject, xInject, ou LGL"
else
echo "[!] Lib não encontrada em ${INJECTOR_LIB}"
fi