Play Integrity Attestation Token Bypass is Back Again ( Non Root static mod )
✅ classic INTEGRITY_SERVICE
✅ express INTEGRITY_SERVICE
An app integrity token solver package is now ready for release🐱
The website is currently in the final development stage and will be available soon🪟
the service works on a credit based model similar to AI subscription services you can purchase token credits based on your needs.
The pricing list will be announced on the website very soon
An app integrity token solver package is now ready for release
The website is currently in the final development stage and will be available soon
the service works on a credit based model similar to AI subscription services you can purchase token credits based on your needs.
The pricing list will be announced on the website very soon
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤14👀2
Magic Eraser_3.2.16_ Integrity token killed #2.apk
32.4 MB
Magic Eraser_3.2.16_ Integrity token killed.apk
Make sure Install Plugging - https://t.me/RevDex/631
Non Root only don't try in rooted device be careful
Make sure Install Plugging - https://t.me/RevDex/631
Non Root only don't try in rooted device be careful
3👀9❤6
Media is too big
VIEW IN TELEGRAM
Google Integrity Breakdown
Thanks for staying with the RevDex Security Researcher community I guess two apps are enough to understand
Play integrity token Bypass
#1
https://t.me/RevDex/632
#2
https://t.me/RevDex/633
F**k you google 🫵👉👌
God 🔌 Plugging - https://t.me/RevDex/631
Thanks for staying with the RevDex Security Researcher community I guess two apps are enough to understand
Play integrity token Bypass
#1
https://t.me/RevDex/632
#2
https://t.me/RevDex/633
F**k you google 🫵👉👌
God 🔌 Plugging - https://t.me/RevDex/631
6❤20❤🔥5😱3😁1🤯1
Google Login (Break Bug 🪲)
I recently bypassed the Google Login system in a modded app the bypass itself isn't very difficult but analyzing the new implementation was much more challenging
I'm planning to add this feature to my Play Integrity Service allowing Google account signin even on supported modded apps
I recently bypassed the Google Login system in a modded app the bypass itself isn't very difficult but analyzing the new implementation was much more challenging
I'm planning to add this feature to my Play Integrity Service allowing Google account signin even on supported modded apps
👌31❤6🤯5❤🔥3
bool bAutoSlice = false;
void *playerBladeOwner = NULL;
void (*Fruit_Slice)(void *instance,
int bladeId,
void *bladeOwner,
float bladePosX,
float bladePosY,
float sliceDirX,
float sliceDirY,
float sliceSpeed,
bool triggerModifers,
bool countTowardsAchievement,
bool sliceDiamondEnabled,
bool juiceEnabled,
bool splatsEnabled);
void (*old_Fruit_Update)(void *instance);
bool (*Fruit_get_IsBomb)(void *instance);
void* (*Blade_get_Owner)(void *instance);
void (*old_Blade_Update)(void *instance);
void hook_Blade_Update(void *instance)
{
if (instance != NULL)
{
if (Blade_get_Owner != NULL)
{
playerBladeOwner = Blade_get_Owner(instance);
}
}
return old_Blade_Update(instance);
}
void hook_Fruit_Update(void *instance)
{
if (instance != NULL && bAutoSlice)
{
if (Fruit_get_IsBomb != NULL && !Fruit_get_IsBomb(instance))
{
float bladePosX = 5.0f;
float bladePosY = 5.0f;
float sliceDirX = 5.0f;
float sliceDirY = 5.0f;
float sliceSpeed = 35.0f;
int targetBladeId = (playerBladeOwner != NULL) ? 0 : 1;
Fruit_Slice(
instance,
targetBladeId,
playerBladeOwner,
bladePosX, bladePosY,
sliceDirX, sliceDirY,
sliceSpeed,
true,
true,
true,
true,
true
);
}
}
return old_Fruit_Update(instance);
}
Fruit_Slice = (void (*)(void *, int, void *,
float, float, float, float, float,
bool, bool, bool, bool, bool))getAbsoluteAddress(targetLibName, 0x1C74C64);
Fruit_get_IsBomb = (bool (*)(void *))getAbsoluteAddress(targetLibName, 0x1C72234);
Blade_get_Owner = (void* (*)(void *))getAbsoluteAddress(targetLibName, 0x20748D8);
HOOK_LIB("libil2cpp.so", "0x1C730D8", hook_Fruit_Update, old_Fruit_Update);
HOOK_LIB("libil2cpp.so", "0x2075418", hook_Blade_Update, old_Blade_Update);
OBFUSCATE("1_Toggle_Auto Slice Fruits")
case 1:
bAutoSlice = boolean;
break;
Dev - @aantik_mods
Fruit Ninja 3.96.5 ( Auto Play )
🥰11❤4👌1
struct Vector3 {
float x, y, z;
};
bool bAutoSlice = false;
void *playerBladeOwner = NULL;
void *(*Fruit_Slice)(void *instance, int bladeId, int bladeOwner, float bladePosX, float bladePosY, float sliceDirX, float sliceDirY, float sliceSpeed, bool triggerModifers, bool countTowardsAchievement, bool sliceDiamondEnabled, bool juiceEnabled, bool splatsEnabled);
void (*old_Fruit_Update)(void *instance);
bool (*Fruit_get_IsBomb)(void *instance);
bool (*Fruit_get_IsMenuFruit)(void *instance);
bool (*Fruit_get_IsSliced)(void *instance);
bool (*Fruit_get_IsSliceable)(void *instance);
void (*old_Blade_Update)(void *instance);
int (*Blade_get_Id)(void *instance);
int (*Blade_get_Owner)(void *instance);
void *(*Blade_get_BladeSlicer)(void *instance);
void (*BladeSlicer_AddToCurrentCombo)(void *instance, void *sliceEvent, void *fruit);
void *(*Component_get_transform)(void *instance);
Vector3 (*Transform_get_position)(void *instance);
void *(*BladeManager_get_Instance)();
void *(*BladeManager_get_PlayerBlade)(void *instance);
void *(*ScoreCard_get_Instance)();
void (*ScoreCard_ModifyScore)(void *instance, int player, int delta);
/**
*
*
* @code with RevDex antik mods cxx
* @param instance
*/
void hook_Blade_Update(void *instance) {
if (instance != NULL && Blade_get_Owner != NULL) {
int owner = Blade_get_Owner(instance);
if (owner == 0) {
if (playerBladeOwner != instance) {
LOGI(OBFUSCATE("Player Blade Captured: %p"), instance);
playerBladeOwner = instance;
}
}
}
old_Blade_Update(instance);
}
void hook_Fruit_Update(void *instance)
{
if (instance != NULL && bAutoSlice)
{
if (Fruit_get_IsBomb && Fruit_get_IsBomb(instance)) return old_Fruit_Update(instance);
if (Fruit_get_IsMenuFruit && Fruit_get_IsMenuFruit(instance)) return old_Fruit_Update(instance);
if (Fruit_get_IsSliced && Fruit_get_IsSliced(instance)) return old_Fruit_Update(instance);
if (Fruit_get_IsSliceable && !Fruit_get_IsSliceable(instance)) return old_Fruit_Update(instance);
int bladeId = 0;
int bladeOwner = 0;
float posX = 0, posY = 0;
void *playerBlade = playerBladeOwner;
if (playerBlade == NULL && BladeManager_get_Instance && BladeManager_get_PlayerBlade) {
void *bm = BladeManager_get_Instance();
if (bm) {
playerBlade = BladeManager_get_PlayerBlade(bm);
if (playerBlade) {
LOGI(OBFUSCATE("Blade found via BladeManager: %p"), playerBlade);
}
}
}
if (playerBlade != NULL) {
if (Blade_get_Id) bladeId = Blade_get_Id(playerBlade);
if (Blade_get_Owner) bladeOwner = Blade_get_Owner(playerBlade);
}
if (Component_get_transform && Transform_get_position) {
void *transform = Component_get_transform(instance);
if (transform) {
Vector3 pos = Transform_get_position(transform);
posX = pos.x;
posY = pos.y;
}
}
void *sliceEvent = Fruit_Slice(
instance,
bladeId,
bladeOwner,
posX, posY,
5.0f, 5.0f,
35.0f,
true,
true,
true,
true,
true
);
if (sliceEvent) {
LOGI(OBFUSCATE("Fruit pointer --> %p"), sliceEvent, bladeOwner);
int points = *(int*)((uintptr_t)sliceEvent + 0x7C); // m_slicePoints offset
void *sc = ScoreCard_get_Instance();
if (sc && ScoreCard_ModifyScore) {
ScoreCard_ModifyScore(sc, 0, points > 0 ? points : 1);
LOGI(OBFUSCATE("m_slicePoints --> %d points"), points > 0 ? points : 1);
}
if (playerBlade && Blade_get_BladeSlicer && BladeSlicer_AddToCurrentCombo) {
void *slicer = Blade_get_BladeSlicer(playerBlade);
if (slicer) {
BladeSlicer_AddToCurrentCombo(slicer, sliceEvent, instance);
/**
*
* done add points same like normal environment
*
*/
LOGI(OBFUSCATE("_"));
}
}
}
}
return old_Fruit_Update(instance);
}Fruit_Slice = (void *(*)(void *, int, int, float, float, float, float, float, bool, bool, bool, bool, bool))getAbsoluteAddress(targetLibName, 0x1C74C64);
Fruit_get_IsBomb = (bool (*)(void *))getAbsoluteAddress(targetLibName, 0x1C72234);
Fruit_get_IsMenuFruit = (bool (*)(void *))getAbsoluteAddress(targetLibName, 0x1C72220);
Fruit_get_IsSliced = (bool (*)(void *))getAbsoluteAddress(targetLibName, 0x1C722F8);
Fruit_get_IsSliceable = (bool (*)(void *))getAbsoluteAddress(targetLibName, 0x1C7230C);
Blade_get_Id = (int (*)(void *))getAbsoluteAddress(targetLibName, 0x20748E8);
Blade_get_Owner = (int (*)(void *))getAbsoluteAddress(targetLibName, 0x20748D8);
Blade_get_BladeSlicer = (void *(*)(void *))getAbsoluteAddress(targetLibName, 0x20748D0);
BladeSlicer_AddToCurrentCombo = (void (*)(void *, void *, void *))getAbsoluteAddress(targetLibName, 0x1BEB09C);
Component_get_transform = (void *(*)(void *))getAbsoluteAddress(targetLibName, 0x3C67160);
Transform_get_position = (Vector3 (*)(void *))getAbsoluteAddress(targetLibName, 0x3C744DC);
BladeManager_get_Instance = (void *(*)())getAbsoluteAddress(targetLibName, 0x1BE1F04);
BladeManager_get_PlayerBlade = (void *(*)(void *))getAbsoluteAddress(targetLibName, 0x1BE1E7C);
ScoreCard_get_Instance = (void *(*)())getAbsoluteAddress(targetLibName, 0x1E6E018);
ScoreCard_ModifyScore = (void (*)(void *, int, int))getAbsoluteAddress(targetLibName, 0x1E6E48C);
HOOK_LIB("libil2cpp.so", "0x1C730D8", hook_Fruit_Update, old_Fruit_Update);
HOOK_LIB("libil2cpp.so", "0x2075418", hook_Blade_Update, old_Blade_Update);
OBFUSCATE("1_Toggle_Auto Play")
case 1:
bAutoSlice = boolean;
break;
Fruit Ninja 3.96.5 ( Auto Play )
❤7
dex2c pro 3.5.apk
31.5 MB
Dex2C Pro v3.5 (Offline Support)
New Added :
# fixed null byte
# background task in background ally's isolated process alive libArt.so & libAndroid_runtime.so hook thanks for LSPlant
# T(N) = N / 2 »» O(N) Shifting ( Fix )
Send bug 🪲 - @aantik_mods
❤23👌4🥰2🤓2❤🔥1
dex2c 专业版 CN.apk
35 MB
⚠️ 中国版没有语言切换选项 因此不适合全球用户 另外 中国版新增了两个主题包 并使用了不同的 NDK 我还加入了中国代理 因此下载速度更快 祝各位中国用户使用愉快
❤18