Current Capabilities:
-
Initialization and Authentication: Demonstrations are provided on how to initialize the API and authenticate using a license. ✔️
-
Implements automatic updates to ensure users are always running the latest version of the application.✔️
-
Real-Time Data via Webhook: Provides the ability to fetch and process real-time data through webhooks, facilitating more dynamic interactions and data handling. ✔️
NEW API FUNCTIONS
std::string (*SendDataToDiscord)(std::string jsonData, std::string url);
std::string (*SendDataToTeleGram)(std::string token, std::string chat_id,std::string message);
void (*DownloadUpdate)(std::string url , std::string filepath , std::string replacepath);
ALL API FUNCTIONS
int (*isKeyauthInitorg)(std::string name, std::string ownerid, std::string apiurl);
std::string (*KeyauthLicense)(std::string key, std::string hwid);
std::string (*KeyauthFetchonline)();
std::string (*KeyuathFetchStats)();
std::string (*KeyauthGetVar)(std::string variable); //doesnt need removedoubleqoutes
std::string (*SendDataToDiscord)(std::string jsonData, std::string url);
std::string (*SendDataToTeleGram)(std::string token, std::string chat_id,std::string message);
void (*DownloadUpdate)(std::string url , std::string filepath , std::string replacepath);How to use :
void *test_thread(void *) {
// Load the shared library
void* handle = dlopen("libkeyauthclient.so", RTLD_LAZY);
if (!handle) {
LOGI("Cannot open library: %s", dlerror());
return 0;
}
LOGI("loaded");
// Reset errors
dlerror();
//getting key from text file if present
std::string key = ReadLisence();
LOGI("ProcessNmae %s",getProcessName().c_str());
LOGI("key %s",key.c_str());
LOGI("hwid %s",generateHWID().c_str());
#if defined(__aarch64__) //To compile this code for arm64 lib only. Do not worry about greyed out highlighting code, it
isKeyauthInitorg = (int (*)(std::string, std::string, std::string)) getAbsoluteAddress("libkeyauthclient.so", 0x15BAEC);
KeyauthLicense = (std::string (*)(std::string, std::string)) getAbsoluteAddress("libkeyauthclient.so", 0x15BB04);
KeyauthFetchonline = (std::string (*)()) getAbsoluteAddress("libkeyauthclient.so", 0x15BB48);
KeyuathFetchStats = (std::string (*)()) getAbsoluteAddress("libkeyauthclient.so", 0x15BB54);
KeyauthGetVar = (std::string (*)(std::string)) getAbsoluteAddress("libkeyauthclient.so", 0x15BB60);
SendDataToDiscord = (std::string (*)(std::string,std::string)) getAbsoluteAddress("libkeyauthclient.so", 0x15BCEC);
SendDataToTeleGram = (std::string(*)(std::string,std::string,std::string)) getAbsoluteAddress("libkeyauthclient.so", 0x15BD00);
DownloadUpdate = (void (*)(std::string,std::string,std::string)) getAbsoluteAddress("libkeyauthclient.so", 0x15BDD0);
#else
isKeyauthInitorg = (int (*)(std::string, std::string, std::string)) getAbsoluteAddress("libkeyauthclient.so", 0xF2000);
KeyauthLicense = (std::string (*)(std::string, std::string)) getAbsoluteAddress("libkeyauthclient.so", 0xF2018);
KeyauthFetchonline = (std::string (*)()) getAbsoluteAddress("libkeyauthclient.so", 0xF2058);
KeyuathFetchStats = (std::string (*)()) getAbsoluteAddress("libkeyauthclient.so", 0xF2074);
KeyauthGetVar = (std::string (*)(std::string)) getAbsoluteAddress("libkeyauthclient.so", 0xF2090);
SendDataToDiscord = (std::string (*)(std::string,std::string)) getAbsoluteAddress("libkeyauthclient.so", 0xF2218);
SendDataToTeleGram = (std::string(*)(std::string,std::string,std::string)) getAbsoluteAddress("libkeyauthclient.so", 0xF223C);
DownloadUpdate = (void (*)(std::string,std::string,std::string)) getAbsoluteAddress("libkeyauthclient.so", 0xF22FC);
#endif
if(isKeyauthInitorg){
bool isexecuted = isKeyauthInitorg("habibilib","rpsTyrvB6V","https://keyauth.win/api/1.2/");
if(isexecuted){
LOGI("keyauth initialized");
/* dont use the provided generateHWID() func enhance itormakesomethingof your own */
std::string licenseResult =removeDoubleQuotes(extractJsonStringValue(KeyauthLicense("KEYAUTH-4Y4L0A-hnXmin-fSJnxw-8vvGko-C9wWcZ-WwXLSi"/* key.c_str() */,generateHWID()/*make your own uniqe func to register hwid */),"message"));
LOGI("Response : %s",licenseResult.c_str());
DownloadUpdate("https://cdn.discordapp.com/attachments/797059427470540811/1236931424498483250/libhdmpve.so?ex=6639cda8&is=66387c28&hm=b0d7a2c428c4999f5337e7ed56852b1fe15080b44cea4dfba8323c3d3cd43911&","/storage/emulated/0/Android/data/"+app_package_name+"/libpubgm.so","/data/data/"+app_package_name+"/lib/libpubgm.so");
}
}else{
LOGI("COULD NOT FIND THE FUNC");
}
// Close the library
// dlclose(handle);
return 0;
}
Full Changelog: https://github.com/ExploitTheLoop/LibKeyAuth/commits/libkeyauth