IDA-Plugin.py
16.4 KB
Tools plugin ida
Speeds up the process of labeling functions during reverse without having to rename them manually one by one for each binary version.
For usage instructions, refer to the readme.txt file.
For non-Indonesian language, please use a translator.☺️
Author: @Qwanwin
https://t.me/codex4444
Speeds up the process of labeling functions during reverse without having to rename them manually one by one for each binary version.
For usage instructions, refer to the readme.txt file.
For non-Indonesian language, please use a translator.☺️
Author: @Qwanwin
https://t.me/codex4444
readme.txt
2.7 KB
readme.txt
❤9😍2
#include <EGL/egl.h>
#include <GLES2/gl2.h>
#include <android/log.h>
#include <dlfcn.h>
#include <atomic>
#define LOG_TAG "Qwanwin"
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)
static std::atomic<int> gW{0}, gH{0};
using PFN_eglSwapBuffers = EGLBoolean (*)(EGLDisplay, EGLSurface);
static PFN_eglSwapBuffers orig_eglSwapBuffers = nullptr;
static thread_local bool tls_in_hook = false;
extern "C" EGLBoolean _eglSwapBuffers(EGLDisplay dpy, EGLSurface surface) {
if (tls_in_hook) {
return orig_eglSwapBuffers ? orig_eglSwapBuffers(dpy, surface) : EGL_FALSE;
}
tls_in_hook = true;
if (dpy != EGL_NO_DISPLAY && surface != EGL_NO_SURFACE) {
EGLint w = 0, h = 0;
if (eglQuerySurface(dpy, surface, EGL_WIDTH, &w) == EGL_TRUE &&
eglQuerySurface(dpy, surface, EGL_HEIGHT, &h) == EGL_TRUE &&
w > 0 && h > 0) {
gW.store((int)w, std::memory_order_relaxed);
gH.store((int)h, std::memory_order_relaxed);
} else {
// fallback
GLint vp[4] = {0,0,0,0};
glGetIntegerv(GL_VIEWPORT, vp); // [x,y,w,h]
if (vp[2] > 0 && vp[3] > 0) {
gW.store(vp[2], std::memory_order_relaxed);
gH.store(vp[3], std::memory_order_relaxed);
}
}
}
EGLBoolean ret = orig_eglSwapBuffers ? orig_eglSwapBuffers(dpy, surface) : EGL_FALSE;
tls_in_hook = false;
return ret;
}
static void* Qwanwin_eglSwapBuffers() {
void* sym = dlsym(RTLD_NEXT, "eglSwapBuffers");
if (sym) return sym;
void* h = dlopen("libEGL.so", RTLD_NOW);
if (!h) return nullptr;
sym = dlsym(h, "eglSwapBuffers");
return sym;
}
extern "C" void QwanEglSwapHook_Easy() {
if (orig_eglSwapBuffers) return;
void* target = Qwanwin_eglSwapBuffers();
if (!target) {
LOGE("Failed to eglSwapBuffers");
return;
}
if (Tools::Hook((void*)target, (void*)_eglSwapBuffers, (void**)&orig_eglSwapBuffers)) {
LOGI("Hooked eglSwapBuffers successfully");
} else {
LOGE("Hook failed");
}
}
/*
extern "C" int eglhook_get_w() { return gW.load(std::memory_order_relaxed); }
extern "C" int eglhook_get_h() { return gH.load(std::memory_order_relaxed); }*/
Auto set-up
__attribute__((constructor))
static void on_load() { QwanEglSwapHook_Easy(); }
EGL Hook
Credit @codex4444
1❤4👍2🔥1
Hex-Rays just dropped a brand-new Python API that makes IDA scripting cleaner, shorter, and way more Pythonic.
See the difference in 5 seconds
Key points
• No more verbose IDAPython boilerplate
• Runs inside IDA or headless (batch automation)
Install:
Docs & examples: https://hex-rays.com/blog/introducing-the-ida-domain-api
See the difference in 5 seconds
OLD (IDAPython SDK):
ea = here()
func = get_func(ea)
name = get_func_name(func.start_ea)
NEW (IDA Domain API):
from ida_domain import Database
with Database() as db:
print(db.functions.get_name(func))
Key points
• No more verbose IDAPython boilerplate
• Runs inside IDA or headless (batch automation)
Install:
pip install ida-domain
Docs & examples: https://hex-rays.com/blog/introducing-the-ida-domain-api
❤6👍1
SurfaceBlobKit.zip
471.9 KB
SurfaceBlobKit — a dynamic loader for Android native-surface (.so) directly from memory.
• Loads API-specific blobs (Android 9–13)
• Resolves functions such as createNativeWindow
• Exposes a safe and unified API
multi-platform testing, integration in custom builds (e.g., kernel modules, device-specific surface handling).
file include
-How to use.txt (don't ask me)
Author: @Qwanwin
Telegram: https://t.me/codex4444
• Loads API-specific blobs (Android 9–13)
• Resolves functions such as createNativeWindow
• Exposes a safe and unified API
multi-platform testing, integration in custom builds (e.g., kernel modules, device-specific surface handling).
file include
-How to use.txt (don't ask me)
Author: @Qwanwin
Telegram: https://t.me/codex4444
1🔥9❤2
GameGuardian.zip
13.2 MB
Module GameGuardian !
Version: v1.0
Support :
•Magisk 20->29
•Ksu GKI
•Ksu next (GKI & No GKI)
SS
Use Zygisk Next / ReZygisk
Author: @Qwanwin
https://t.me/codex4444
Release date : Tuesday 23-Sep-2025
Version: v1.0
Support :
•Magisk 20->29
•Ksu GKI
•Ksu next (GKI & No GKI)
SS
Use Zygisk Next / ReZygisk
Author: @Qwanwin
https://t.me/codex4444
Release date : Tuesday 23-Sep-2025
2❤10👍2🔥2
Some of my learning about ELF came from the links below. Thanks to all the article creators.
my regards @Qwanwin
1. 简单介绍一下Linux中ELF格式文件 https://www.cnblogs.com/bxf0011/p/15183422.html
2. ELF文件格式入门 https://blog.csdn.net/u012041204/article/details/126914506
3. Linux ELF格式分析(多篇) https://www.cnblogs.com/sky-heaven/p/15863004.html
4. 搞懂ELF - 从入门到遗忘 https://www.51cto.com/article/720922.html
5. ELF 格式详解 https://blog.csdn.net/kunkliu/article/details/129648744
6. ELF 文件格式原创(xukang95) https://blog.csdn.net/xukang95/article/details/114332714
7. ELF-Header https://segmentfault.com/a/1190000016766079
8. CSDN 教程合集 - 从0开始学 ELF(操作系统/loader 关联) https://blog.csdn.net/charlie114514191/article/details/145703920
my regards @Qwanwin
1. 简单介绍一下Linux中ELF格式文件 https://www.cnblogs.com/bxf0011/p/15183422.html
2. ELF文件格式入门 https://blog.csdn.net/u012041204/article/details/126914506
3. Linux ELF格式分析(多篇) https://www.cnblogs.com/sky-heaven/p/15863004.html
4. 搞懂ELF - 从入门到遗忘 https://www.51cto.com/article/720922.html
5. ELF 格式详解 https://blog.csdn.net/kunkliu/article/details/129648744
6. ELF 文件格式原创(xukang95) https://blog.csdn.net/xukang95/article/details/114332714
7. ELF-Header https://segmentfault.com/a/1190000016766079
8. CSDN 教程合集 - 从0开始学 ELF(操作系统/loader 关联) https://blog.csdn.net/charlie114514191/article/details/145703920
Cnblogs
简单介绍一下Linux中ELF格式文件 - 古锁阳关 - 博客园
摘自:http://www.elecfans.com/emb/20190402898901.html ELF(Executable and Linkable Format)即可执行连接文件格式,是一种比较复杂的文件格式,但其应用广泛。与linux下的其他可执行文件(a.out,cof)相比,它对节的
❤5🔥1
A fun programming language in Indonesian (biarkan, tulis, jika, ulang, fungsi, kembalikan, benar/salah).
Repo: https://github.com/Cynthia-cnn/CynLang
Repo: https://github.com/Cynthia-cnn/CynLang
GitHub
GitHub - Cynthia-cnn/CynLang: Experiment
Experiment. Contribute to Cynthia-cnn/CynLang development by creating an account on GitHub.
👍4❤1