Files
NFSMW_Legacy/mpcore/src/main/cpp/main.cpp
T
2024-12-15 21:21:44 +03:00

74 lines
1.5 KiB
C++

#include <cstring>
#include <cstdio>
#include <android/log.h>
#include <jni.h>
#include <thread>
#include <chrono>
#include "main.h"
#include "util/util.h"
#include "util/armhook.h"
uintptr_t libapp = 0;
int (*print_internal_log)(int a1, const char *a2, ...);
void pending_thread(){
Log("Hello from thread!");
std::this_thread::sleep_for(std::chrono::milliseconds(10000));
int unk = APP_ADDR(0x00E4B8EC);
print_internal_log(unk, "Hello!");
unProtect(APP_ADDR(0x00E4A738));
}
jint JNI_OnLoad(JavaVM *vm, void *reserved){
libapp = FindLibrary("libapp.so");
Log("Hello! my base addr is 0x%08x", libapp);
//InitHookStuff();
//unProtect(APP_ADDR(0x00A522C4));
//*(int *)APP_ADDR(0x00A522C4) = 0xE320F000;
//WriteMemory(APP_ADDR(0x00E4BA94), (uintptr_t)"my_tag", 6);
raise(SIGSTOP);
return JNI_VERSION_1_6;
}
/*
Log("Hello! my base addr is 0x%08x", libapp);
Log("Address i wanna to get 0x%08x", APP_ADDR(0xC8C9D8));
const char* str = (char *)APP_ADDR(0xC8C9D8);
Log("i found it! %s", str);
unProtect(APP_ADDR(0xC8C9D8));
WriteMemory(APP_ADDR(0xC8C9D8), (uintptr_t)"APPLICATION_NO", 14);
str = (char *)APP_ADDR(0xC8C9D8);
Log("i change it! %s", str);
//makeNOP(APP_ADDR(0x00652EB4), 2);
//makeNOP(APP_ADDR(0x00652E3C), 2);
unProtect(APP_ADDR(0x00652EB4));
*(char *)APP_ADDR(0x00652EB4) = 0xE320F000;
unProtect(APP_ADDR(0x00652E3C));
*(char *)APP_ADDR(0x00652E3C) = 0xE320F000;
*/