596
订阅者
+1524 小时
+2307 天
+39530 天
帖子存档
596
DobbyHook((void*)Il2CppGetMethodOffset(OBFUSCATE("Assembly-CSharp.dll"), OBFUSCATE("COW.GamePlay"),
OBFUSCATE("Player"), OBFUSCATE("IsFreeMove"), 0), (void *)hook_IsFreeMove, (void **)&old_IsFreeMove);
bool FreeMove = false;
bool (*old_IsFreeMove)(void *instance);
bool hook_IsFreeMove(void *instance) {
if (instance != NULL) {
if (FreeMove) {
return true;
}
}
return old_IsFreeMove(instance);
}596
} if (selectedTab == 3) { DrawHeaderLine(oxorany("Firewall EL")); ImGui::PushStyleVar(ImGuiStyleVar_ChildRounding, 12.0f); ImGui::PushStyleColor(ImGuiCol_ChildBg, IM_COL32(40, 40, 40, (int)(0.20f * 255))); // Bắt đầu vùng hiển thị Log if (ImGui::BeginChild("LayerBox", ImVec2(0, 0), true)) { // --- THANH CÔNG CỤ TRÊN CÙNG --- if (ImGui::Button(" Clear Logs ", ImVec2(100, 30))) { std::lock_guard<std::mutex> lock(g_logMutex); g_logs.clear(); } ImGui::SameLine(); ImGui::TextColored(ImVec4(1.0f, 0.6f, 0.0f, 1.0f), " STRICT MODE: libanogs"); ImGui::Separator(); // --- BẮT ĐẦU CHIA CỘT (LEGACY MODE) --- // 5 cột: Time | Lib | Target | Port | Status ImGui::Columns(5, "LogColumns", true); // true = hiện đường kẻ ngăn cách // --- THIẾT LẬP ĐỘ RỘNG CỘT (Lần đầu tiên) --- static bool widthSet = false; if (!widthSet) { ImGui::SetColumnWidth(0, 60.0f); // Time ImGui::SetColumnWidth(1, 90.0f); // Lib ImGui::SetColumnWidth(3, 50.0f); // Port ImGui::SetColumnWidth(4, 80.0f); // Status widthSet = true; } // --- TIÊU ĐỀ CỘT --- ImGui::TextColored(ImVec4(0.7f, 0.7f, 0.7f, 1.0f), "Time"); ImGui::NextColumn(); ImGui::TextColored(ImVec4(0.7f, 0.7f, 0.7f, 1.0f), "Lib"); ImGui::NextColumn(); ImGui::TextColored(ImVec4(0.7f, 0.7f, 0.7f, 1.0f), "Target/IP"); ImGui::NextColumn(); ImGui::TextColored(ImVec4(0.7f, 0.7f, 0.7f, 1.0f), "Port"); ImGui::NextColumn(); ImGui::TextColored(ImVec4(0.7f, 0.7f, 0.7f, 1.0f), "Status"); ImGui::NextColumn(); ImGui::Separator(); // --- VẼ DỮ LIỆU --- { std::lock_guard<std::mutex> lock(g_logMutex); // Duyệt ngược để log mới nhất nằm trên cùng for (auto it = g_logs.rbegin(); it != g_logs.rend(); ++it) { const auto& log = *it; // 1. Time ImGui::TextDisabled("%s", log.time.c_str()); ImGui::NextColumn(); // 2. Lib Name (Màu cam nếu là libanogs) if (log.libName.find("libanogs") != std::string::npos) { ImGui::TextColored(ImVec4(1.0f, 0.5f, 0.0f, 1.0f), "%s", log.libName.c_str()); } else { ImGui::Text("%s", log.libName.c_str()); } ImGui::NextColumn(); // 3. Target (IP/Domain) - Màu xanh dương nhạt ImGui::TextColored(ImVec4(0.4f, 0.8f, 1.0f, 1.0f), "%s", log.target.c_str()); if (ImGui::IsItemHovered()) ImGui::SetTooltip("Reason: %s", log.reason.c_str()); ImGui::NextColumn(); // 4. Port ImGui::Text("%s", log.port.c_str()); ImGui::NextColumn(); // 5. Status (Đỏ = Block, Xanh = Allow) if (log.isBlocked) { ImGui::TextColored(ImVec4(1.0f, 0.2f, 0.2f, 1.0f), "[BLOCK]"); } else { ImGui::TextColored(ImVec4(0.2f, 1.0f, 0.2f, 1.0f), "[ALLOW]"); } ImGui::NextColumn(); } } // Kết thúc chia cột ImGui::Columns(1); } ImGui::EndChild(); ImGui::PopStyleColor(); ImGui::PopStyleVar(); }
596
void init_firewall() { void* libc = dlopen("libc.so", RTLD_NOW); if (!libc) return; DobbyHook(dlsym(libc, "connect"), (void*)hooked_connect, (void**)&orig_connect); DobbyHook(dlsym(libc, "socket"), (void*)hooked_socket, (void**)&orig_socket); DobbyHook(dlsym(libc, "getaddrinfo"), (void*)hooked_getaddrinfo, (void**)&orig_getaddrinfo); }
596
int (*get_UserLevel)(void *player); int _get_UserLevel(void *player) { if (player != nullptr) { if(LUNDUP){ return 12; } } return get_UserLevel(player); } bool LUNDUP = true; DobbyHook(Il2CppGetMethodOffset(OBFUSCATE("Assembly-CSharp.dll"), OBFUSCATE("COW"), OBFUSCATE("UIModelUser"), OBFUSCATE("get_UserLevel"), 0), (void *) _get_UserLevel, (void **) &get_UserLevel);
596
DobbyHook((void *)Il2CppGetMethodOffset(OBFUSCATE("Assembly-CSharp.dll"), OBFUSCATE("COW"), OBFUSCATE("GameFacade"), OBFUSCATE("IsEmulator"), 0), (void *) &_PCcheck, (void **) & PCcheck); bool g_IsEmulatorReady = false; bool IsEverythingLoad = false; uintptr_t il2cpp_base = 0; bool (*PCcheck) (); bool _PCcheck() { IsEverythingLoad = true; return false; }
596
DobbyHook((void *)Il2CppGetMethodOffset(OBFUSCATE("Assembly-CSharp.dll"), OBFUSCATE("COW"), OBFUSCATE("GameFacade"), OBFUSCATE("IsEmulator"), 0), (void *) &_PCcheck, (void **) & PCcheck); bool g_IsEmulatorReady = false; bool IsEverythingLoad = false; uintptr_t il2cpp_base = 0; bool (*PCcheck) (); bool _PCcheck() { IsEverythingLoad = true; return false; }
596
DONT CAR void *GetVehicle(void * Match890) { if (!Match890) return nullptr; void* veiculo = nullptr; void* PlayerClient = GetLocalPlayer(Match890); if (PlayerClient) { void* vehicle = GetLocalCar(PlayerClient); if (vehicle != nullptr && !get_IsPassenger(PlayerClient)) { veiculo = vehicle; } } return veiculo; } void* (*orig_PackVector3)(Vector3 pVehicle); void* hook_PackVector3(Vector3 pVehicle) { if (DONTCarValue > 0) { void* match = Curent_Match(); if (match) { void* vehicle = GetVehicle(match); if (vehicle != nullptr) { pVehicle.y -= (float)DONTCarValue; } } } return orig_PackVector3(pVehicle); } //Bool int DONTCarValue = 0; DobbyHook( (void *)Il2CppGetMethodOffset(OBFUSCATE("Assembly-CSharp.dll"), OBFUSCATE("message"), OBFUSCATE("LLOABGDLMGK"), OBFUSCATE("LHGGPDLOPAH"), 1), (void *)hook_PackVector3, (void **)&orig_PackVector3 ); #define offset_GetLocalCar (uintptr_t) Il2CppGetMethodOffset(OBFUSCATE("Assembly-CSharp.dll"), OBFUSCATE("COW.GamePlay"), OBFUSCATE("Player"), OBFUSCATE("VehicleIAmIn"), 0) #define offset_get_IsPassenger (uintptr_t) Il2CppGetMethodOffset(OBFUSCATE("Assembly-CSharp.dll"), OBFUSCATE("COW.GamePlay"), OBFUSCATE("Player"), OBFUSCATE("get_IsPassenger"), 0) #define offset_get_IsDriver (uintptr_t) Il2CppGetMethodOffset(OBFUSCATE("Assembly-CSharp.dll"), OBFUSCATE("COW.GamePlay"), OBFUSCATE("Player"), OBFUSCATE("get_IsDriver"), 0) void* GetLocalCar(void* player) { if (!player) return nullptr; return ((void* (*)(void*))offset_GetLocalCar)(player); } bool get_IsPassenger(void* player) { if (!player) return false; return ((bool (*)(void*))offset_get_IsPassenger)(player); } bool get_IsDriver(void* player) { if (!player) return false; return ((bool (*)(void*))offset_get_IsDriver)(player); }
596
FUCK MODI CODE DobbyHook(Il2CppGetMethodOffset(OBFUSCATE("Assembly-CSharp.dll"),OBFUSCATE("COW.GamePlay"),OBFUSCATE("PlayerAttributes"),OBFUSCATE("get_FSModeUseMedikitFasterRate"),0),(void *)my_get_FSModeUseMedikitFasterRate,(void **)&orig_get_FSModeUseMedikitFasterRate); bool FUCKMODI = false; float FUCKMODIRate = 0.90f; float(*orig_get_FSModeUseMedikitFasterRate)(void * thiz); float my_get_FSModeUseMedikitFasterRate(void * thiz) { if (FUCKMODI) { return FUCKMODIRate; } return orig_get_FSModeUseMedikitFasterRate(thiz); }
596
static void fw_sweep_loaded() {
for (int i = 0; fw_blocked_libs[i]; i++)
fw_freeze_region(fw_blocked_libs[i]);
}
static FILE* (*orig_fopen)(const char*, const char*) = nullptr;
static int (*orig_open)(const char*, int, ...) = nullptr;
static int (*orig_dl_iterate_phdr)(int(*)(struct dl_phdr_info*, size_t, void*), void*) = nullptr;
static const char* HIDE_KEYS[] = {
OBFUSCATE("frida"),
OBFUSCATE("gum-js"),
OBFUSCATE("gadget"),
OBFUSCATE("magisk"),
OBFUSCATE("zygisk"),
OBFUSCATE("lsposed"),
OBFUSCATE("xposed"),
nullptr
};
static bool is_hidden_line(const char* line) {
if (!line) return false;
for (int i = 0; HIDE_KEYS[i]; i++)
if (strstr(line, HIDE_KEYS[i])) return true;
return false;
}
static bool is_proc_maps(const char* p) {
if (!p) return false;
return strstr(p, "/proc/self/maps") ||
strstr(p, "/proc/self/smaps") ||
strstr(p, "/proc/self/numa_maps") ||
(strstr(p, "/task/") && strstr(p, "/maps")) ||
(strstr(p, "/maps") && strstr(p, "/proc/"));
}
static bool is_proc_status(const char* p) {
return p && (strstr(p, "/proc/self/status") || strstr(p, "/status"));
}
static bool is_proc_comm(const char* p) {
return p && strstr(p, "/comm");
}
static bool is_proc_mounts(const char* p) {
return p && (strstr(p, "/proc/mounts") strstr(p, "/proc/self/mounts")
strstr(p, "/proc/self/mountinfo"));
}
static bool is_proc_modules(const char* p) {
return p && strstr(p, "/proc/modules");
}
static bool is_proc_version(const char* p) {
return p && strstr(p, "/proc/version");
}
static bool is_proc_cmdline(const char* p) {
return p && (strstr(p, "/cmdline") || strstr(p, "/proc/self/cmdline"));
}
static bool is_sys_su(const char* p) {
if (!p) return false;
return strstr(p, "/system/xbin/su") strstr(p, "/system/bin/su")
strstr(p, "/sbin/su") strstr(p, "/su/bin/su")
strstr(p, "/magisk") || strstr(p, "/supersu");
}
596
static void* (*fw_orig_dlopen)(const char*, int) = nullptr;
static void* (*fw_orig_android_dlopen_ext)(const char*, int, const void*) = nullptr;
static int (*fw_orig_connect)(int, const struct sockaddr*, socklen_t) = nullptr;
static ssize_t (*fw_orig_sendto)(int, const void*, size_t, int,
const struct sockaddr*, socklen_t) = nullptr;
static int (*fw_orig_getaddrinfo)(const char*, const char*,
const struct addrinfo*, struct addrinfo**) = nullptr;
static const char* fw_blocked_libs[] = {
"libanogs.so", "libanort.so", "libc.so",
nullptr
};
static const char* fw_soft_blocked_libs[] = {
"libmain.so", "libGGP.so",
nullptr
};
static const char* fw_blocked_ips[] = {
nullptr
};
static const char* fw_blocked_domains[] = {
"anogs.garena.com", "anticheat.garena.com", "antiextend.garena.com",
"ff-report.garena.com", "report.garena.com",
"bugly.qq.com", "msdk.qq.com", "tencentcs.com",
"gcloud.garena.com", "gcloudsvr.garena.com",
"ffmax.garena.com", "freefiremax.com", "dir.freefiremax.com",
"anticheat.ff.garena.com", "ff.garena.com",
"gin.freefireind.in", "gin.freefiremobile.com", "garena.co.id",
"na.gin.freefiremobile.com", "gamesecurity.us.freefiremobile.com",
"hotro.ff.garena.vn", "anticheat.garena.vn",
"conversions.appsflyer.com",
nullptr
};
static bool fw_lib_blocked(const char* n) {
if (!n) return false;
for (int i = 0; fw_blocked_libs[i]; i++)
if (strstr(n, fw_blocked_libs[i])) return true;
return false;
}
static bool fw_lib_soft_blocked(const char* n) {
if (!n) return false;
for (int i = 0; fw_soft_blocked_libs[i]; i++)
if (strstr(n, fw_soft_blocked_libs[i])) return true;
return false;
}
static bool fw_ip_blocked(const char* ip) {
if (!ip) return false;
for (int i = 0; fw_blocked_ips[i]; i++)
if (strcmp(ip, fw_blocked_ips[i]) == 0) return true;
return false;
}
static bool fw_domain_blocked(const char* host) {
if (!host) return false;
for (int i = 0; fw_blocked_domains[i]; i++)
if (strstr(host, fw_blocked_domains[i])) return true;
return false;
}
596
MemoryPatch::createWithHex((uintptr_t)Il2CppGetMethodOffset(OBFUSCATE("Assembly-CSharp.dll"), OBFUSCATE("COW"), OBFUSCATE("UIModelAntiAddiction"), OBFUSCATE("get_IsAntiAddictActivated"), 0), OBFUSCATE("C0 03 5F D6")).Modify();
MemoryPatch::createWithHex((uintptr_t)Il2CppGetMethodOffset(OBFUSCATE("Assembly-CSharp.dll"), OBFUSCATE("COW"), OBFUSCATE("UIModelAntiAddiction"), OBFUSCATE("GetLogMaxAdultsLimit"), 0), OBFUSCATE("C0 03 5F D6")).Modify();
MemoryPatch::createWithHex((uintptr_t)Il2CppGetMethodOffset(OBFUSCATE("Assembly-CSharp.dll"), OBFUSCATE("COW"), OBFUSCATE("UIModelAntiAddiction"), OBFUSCATE("GetCurrentPlayedTimeMinutes"), 0), OBFUSCATE("C0 03 5F D6")).Modify();
MemoryPatch::createWithHex((uintptr_t)Il2CppGetMethodOffset(OBFUSCATE("Assembly-CSharp.dll"), OBFUSCATE("COW"), OBFUSCATE("UIModelAntiAddiction"), OBFUSCATE("GetRemainingPlayTimeMinutes"), 0), OBFUSCATE("C0 03 5F D6")).Modify();
//Anti addiction off patch
