Android(安卓)openGL hook
16lz
2021-12-04
Android openGL hook
hook头文件
#ifndef _GL_INTERFACETEST_H_#define _GL_INTERFACETEST_H_namespace android {void hook_eglSwapBuffers();}#endif
hook实现
#include #include "egl_hook.h"namespace android {void hook_eglSwapBuffers() {ALOGD("hook successfully! eglSwapBuffer...");return;}}
hook调用点
在eglApi.cpp内增加hook点
EGLBoolean eglSwapBuffers(EGLDisplay dpy, EGLSurface surface){hook_eglSwapBuffers(); return eglSwapBuffersWithDamageKHR(dpy, surface, NULL, 0);}
makefile
Android.bp
cc_library_shared { name: "libEGL", defaults: ["egl_libs_defaults"], srcs: ["EGL/egl_hook.cpp", "EGL/egl_tls.cpp", "EGL/egl_cache.cpp", "EGL/egl_display.cpp", "EGL/egl_object.cpp", "EGL/egl.cpp", "EGL/eglApi.cpp", "EGL/Loader.cpp", ], shared_libs: [ "libvndksupport", "android.hardware.configstore@1.0", "android.hardware.configstore-utils", "libhidlbase", "libhidltransport", "libutils", ], static_libs: [ "libEGL_getProcAddress", "libEGL_blobCache", ], ldflags: ["-Wl,--exclude-libs=ALL"], export_include_dirs: ["EGL/include"],}
其他
可以将hook封装成库调用
可以在hook库中新建线程实现某些吓死人的技术
更多相关文章
- 浅谈Java中Collections.sort对List排序的两种方法
- python list.sort()根据多个关键字排序的方法实现
- Android(安卓)实现MD5加密
- [Android(安卓)GMS 认证] CTS 问题列表之 CtsAutoFillServiceTes
- Android(安卓)调用.NET webservice
- android java 网络检测
- Android(安卓)实现MD5加密
- android 调用摄像头
- Qt for Android(安卓)拉起微信登录、分享等功能