Dark Modder CL<~
Open in Telegram
No data
Subscribers
-1324 hours
-57 days
+8630 days
Posts Archive
🎮game: PUBG 🎮
⚡️ version: 3.6
💰 source code: x64
💻Rabrand by: Dark Modder
🎮 PUBG Mobile ImGui Cheat Menu - Source Code Release! 🎮
Unleash the ultimate power in PUBG Mobile with this fully customizable ImGui Cheat Menu!
📝 Important Note:
Using cheats in online games violates terms of service and can result in bans or legal consequences. Use responsibly and at your own risk!
Dark Modder
@Osamu_Kirito
Note:if you have humanity left in you don't remove the credit 🙏🎮 PUBG Mobile ImGui Cheat Menu - Source Code Release! 🎮
Unleash the ultimate power in PUBG Mobile with this fully customizable ImGui Cheat Menu!
😀 What's Inside?
✅ Sleek ImGui Interface: A clean and intuitive menu for seamless navigation.
✅ Advanced Features: Health hack, ammo mods, ESP, and more!
✅ Anti-Cheat Bypass: Built-in hooks and patches to evade detection.
✅ Customizable: Easily add or modify features to suit your needs.
✅ Open Source: Full source code provided for learning and customization.
⚙️ How It Works:
This cheat menu uses ImGui for rendering and hooks into PUBG Mobile's native libraries to manipulate game data. It's designed to be lightweight, efficient, and easy to integrate into your projects.
⚡️ Important Note:
This project is for educational purposes only. Using cheats in online games violates terms of service and can result in bans or legal consequences. Use responsibly and at your own risk!
📬 Download the Source Code:
The full source code is attached above. Feel free to explore, modify, and share your improvements with the community!
💬 Join the Discussion:
Got questions or suggestions? Drop them in the comments! Let's build something amazing together. 💻🔥
Dark Modder
@Osamu_Kirito👼⚠️⚠️⚠️⚠️⚠️📡😈
My fellow followers I need 3 more boosts to level up my channel would you help me by boosting the channel even 1 boost per person would be more than enough 💖THE BOOST LINK ⬇️⬇️⬇️
https://t.me/boost/Dazai_FreeSrc
⚠️⚠️⚠️⚠️⚠️⚠️
You can use global bypass for KR,VNG, and TAIWAN but you cannot use it for BGMI or PUBG China(Game for peace), I just said because some people might not know it 👍
🆕🆕🆕🆕🆕🆕
😂PUBG Mobile Bypass Hook with ImGui Integration🦢
Unlock the power of custom cheats and bypasses for PUBG Mobile with this advanced hook implementation!
🍄Features:
🔰 ImGui Integration: Render a sleek and customizable cheat menu directly in the game.
🔰 Anti-Cheat Bypass: Patches and hooks to bypass detection mechanisms.
🔰 Memory Manipulation: Modify game variables like health, ammo, and more.
🔰 EGL Hooks: Block anti-cheat libraries like
libEGL.so and manipulate rendering.
🔰 Strong Anti-Detection: Random delays, obfuscation, and indirect memory access for stealth.
🛠How It Works:
The code hooks into PUBG Mobile's rendering pipeline using DirectX 11 VTable hooking and integrates ImGui for a user-friendly interface. It also includes patches for libanogs.so and ijkffmpeg to bypass anti-cheat systems.
⚠️Disclaimer:
This project is for educational purposes only. Using cheats in online games violates terms of service and can result in bans or legal consequences. Use responsibly!
📬 Download and Instructions:
Check the attached code and follow the steps to compile and inject the DLL.
🤔Join the discussion and share your feedback! Let's push the boundaries of what's possible. 🧑💻
Credit: Dark Modder
Contact: @Osamu_Kirito
I'd be happy if you don't remove the credit 🙏// Apply EGL-related hooks
oeglSwapBuffers = reinterpret_cast<eglSwapBuffers_t>(dlsym(dlopen("libEGL.so", RTLD_NOW), "eglSwapBuffers"));
if (oeglSwapBuffers) {
LOGI("Hooked eglSwapBuffers");
}
// Apply memory patches
ApplyPatches();
}
return TRUE;
}
`if (strstr((const char*)a2, "crash_various_opcode") ||
strstr((const char*)a2, "opcode_crash") ||
strstr((const char*)a2, "opcode_scan") ||
strstr((const char*)a2, "zygisk_stack") ||
strstr((const char*)a2, "ksu_files") ||
strstr((const char*)a2, "ksu_mounts_ext") ||
strstr((const char*)a2, "ksu_mtp") ||
strstr((const char*)a2, "zygisk_anonymous") ||
strstr((const char*)a2, "unlock_root") ||
strstr((const char*)a2, "zygisk_module")) {
// Block suspicious function calls
return 0LL;
} else {
// Call the original function
return osub_1EB7BC(a1, a2, a3);
}
}
typedef int64(fastcall* sub_2CF44C_t)(__int64 a1);
sub_2CF44C_t Original_sub_2CF44C = nullptr;
int64 fastcall Hooked_sub_2CF44C(__int64 a1) {
LOGI("Hooked sub_2CF44C called with a1: 0x%llx", a1);
// Custom logic before calling the original function
*(_DWORD*)(a1 + 2036) = 42; // Example modification for demonstration
// Optionally call the original function
if (Original_sub_2CF44C) {
__int64 result = Original_sub_2CF44C(a1);
LOGI("Original sub_2CF44C returned: 0x%llx", result);
return result;
}
// Return custom result if not calling the original
return 0;
}
// Memory patches
void ApplyPatches() {
// Example patches for libanogs.so
PATCH_LIB("libanogs.so", "0x1B2D90", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x1B2DC4", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x377898", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x18BEE8", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x4D7CE8", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x1A4180", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x1ACF80", "00 00 80 D2 C0 03 5F D6"); // 1-day violation
PATCH_LIB("libanogs.so", "0x4CAD08", "00 00 80 D2 C0 03 5F D6"); // 7-day violation
PATCH_LIB("libanogs.so", "0x189CB0", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x49C634", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x16BBA8", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x2Ac5", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x6DE0C8", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x163EA0", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x2DD3C8", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x148E80", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x2C2928", "00 00 80 D2 C0 03 5F D6"); // NEW
PATCH_LIB("libanogs.so", "0x3493C8", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x139080", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x1396C0", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x13B478", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x541A80", "00 00 80 D2 C0 03 5F D6");
PATCH_LIB("libanogs.so", "0x167A94", "00 00 80 D2 C0 03 5F D6");
// Bypass code for ijkffmpeg (only one patch)
uintptr_t ijkffmpeg = findLibrary("libijkffmpeg.so"); // Replace with actual base address
if (ijkffmpeg) {
LOGI("Applying bypass patch to ijkffmpeg...");
// Apply only one patch
Tools::WriteAddr((void*)(ijkffmpeg + 0x6FA5D5000C), (void*)"\x00\x00\x00\x00", 4);
}
}
// Main function
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
if (ul_reason_for_call == DLL_PROCESS_ATTACH) {
// Create a thread to hook the VTable
std::thread(HookVTable).detach();
// Apply PUBG Mobile-specific hooks
osub_1EB7BC = reinterpret_cast<decltype(osub_1EB7BC)>(0x1EB7BC); // Replace with actual address
Original_sub_2CF44C = reinterpret_cast<decltype(Original_sub_2CF44C)>(0x2CF44C); // Replace with actual address
` C++
#include <Windows.h>
#include <d3d11.h>
#include <imgui.h>
#include <imgui_impl_dx11.h>
#include <thread>
#include <random>
#include <cstring>
#include <unistd.h>
#include <dlfcn.h>
#include <android/log.h>
#include <sys/mman.h>
#include <stdio.h>
#include <stdlib.h>
#include <EGL/egl.h>
//Hook Bypass By Dark Modder
//Hook Bypass By Dark Modder
//Contact @Osamu_Kirito
// Define logging macro
#define LOGI(...) android_log_print(ANDROID_LOG_INFO, "TAG", VA_ARGS__)
// Function prototype for the original Present function
typedef HRESULT(__stdcall* PresentT)(IDXGISwapChain*, UINT, UINT);
PresentT oPresent = nullptr;
// Hooked Present function
HRESULT __stdcall hkPresent(IDXGISwapChain* pSwapChain, UINT SyncInterval, UINT Flags) {
static bool init = false;
if (!init) {
// Initialize ImGui
ID3D11Device* device;
ID3D11DeviceContext* context;
pSwapChain->GetDevice(__uuidof(ID3D11Device), (void**)&device);
device->GetImmediateContext(&context);
ImGui::CreateContext();
ImGui_ImplDX11_Init(device, context);
init = true;
}
// Start ImGui frame
ImGui_ImplDX11_NewFrame();
ImGui::NewFrame();
// Render your ImGui window here
ImGui::Begin("PUBG Mobile Cheat Menu");
ImGui::Text("Welcome to your cheat menu!");
if (ImGui::Button("Set Health to 100")) {
// Example: Modify game memory (replace with actual logic)
uintptr_t healthAddress = 0x12345678; // Replace with actual address
*(int*)healthAddress = 100;//not real its just an example, add your own stuff..
}
ImGui::End();
// Render ImGui
ImGui::Render();
ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData());
// Call the original Present function
return oPresent(pSwapChain, SyncInterval, Flags);
}
// Hook the VTable with anti-detection measures
void HookVTable() {
// Random delay to avoid timing-based detection
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> dis(1000, 5000);
std::this_thread::sleep_for(std::chrono::milliseconds(dis(gen)));
// Get the game's swap chain (example for DirectX 11)
IDXGISwapChain* pSwapChain = nullptr;
ID3D11Device* pDevice = nullptr;
D3D_FEATURE_LEVEL featureLevel = D3D_FEATURE_LEVEL_11_0;
DXGI_SWAP_CHAIN_DESC swapChainDesc = {};
D3D11CreateDeviceAndSwapChain(nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, 0, &featureLevel, 1, D3D11_SDK_VERSION,
&swapChainDesc, &pSwapChain, &pDevice, nullptr, nullptr);
// Get the VTable
void pVTable = *reinterpret_cast<void*>(pSwapChain);
// Hook the Present function (index 8 in DX11)
oPresent = (PresentT)pVTable[8];
pVTable[8] = &hkPresent;
}
// EGL-related hooks
void* hook_dlopen(const char* file, int mode) {
auto ret = reinterpret_cast<uintptr_t>(__builtin_return_address(0));
auto AnogsCaller = ret - libanogsBase;
// Block loading of libEGL.so
if (strstr(file, "libEGL.so")) {
LOGI("Blocked loading of libEGL.so");
return nullptr;
}
// Block loading of libm.so
if (strstr(file, "libm.so")) {
LOGI("Blocked loading of libm.so");
return nullptr;
}
return dlopen(file, mode);
}
typedef EGLBoolean (*eglSwapBuffers_t)(EGLDisplay dpy, EGLSurface surface);
eglSwapBuffers_t oeglSwapBuffers = nullptr;
EGLBoolean hkeglSwapBuffers(EGLDisplay dpy, EGLSurface surface) {
LOGI("Hooked eglSwapBuffers called");
// Call the original function
if (oeglSwapBuffers) {
return oeglSwapBuffers(dpy, surface);
}
return EGL_FALSE;
}
// PUBG Mobile-specific hooks
int64 fastcall (*osub_1EB7BC)(int64 a1, int64 a2, char a3);
int64 fastcall hsub_1EB7BC(int64 a1, int64 a2, char a3) {// Weapon status bar
auto WeaponManagerComponent = localPlayer->WeaponManagerComponent;
if (WeaponManagerComponent) {
auto CurrentWeaponReplicated = (ASTExtraShootWeapon*)WeaponManagerComponent->CurrentWeaponReplicated;
if (CurrentWeaponReplicated) {
auto Sbullet = CurrentWeaponReplicated->CurBulletNumInClip;
auto Mbullet = CurrentWeaponReplicated->CurMaxBulletNumInOneClip;
ImVec2 boxPos(500, 500);ImVec2 boxSize(35, 100);
draw->AddRect(boxPos, ImVec2(boxPos.x + boxSize.x, boxPos.y + boxSize.y), IM_COL32(255, 255, 255, 255), 0.0f, 0, 1.0f);
float lineSpacing = boxSize.y / (float)Mbullet;
for (int i = 0; i < Sbullet; i++) {
float y = boxPos.y + boxSize.y - ((i + 1) * lineSpacing);
float t = (float)i / (float)Mbullet;
int r = (int)(255 * (1.0f - t));
int g = (int)(255 * t);
draw->AddRectFilled(ImVec2(boxPos.x + 2, y), ImVec2(boxPos.x + boxSize.x - 2, y + lineSpacing), IM_COL32(r, g, 0, 255));
}
}
}