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库中新建线程实现某些吓死人的技术

更多相关文章

  1. FFmpeg In Android - tutorial-4-Spawning Threads创建线程
  2. Android学习笔记(6)————Android的线程与进程
  3. android jni 多线程编程 join thread
  4. 前阿里技术总监手打:452页Android Framework 精编内核解析
  5. Android 技术-- 图形系统详解
  6. 关于Google Android技术教程
  7. Android加固技术分析与多渠道打包实践

随机推荐

  1. Android官方架构组件Paging:分页库的设计
  2. Android(安卓)BroadcastReceiver(广播)实
  3. 一些优秀的 Android(安卓)开发专栏推荐
  4. 详述Google针对Android平板App发布的十大
  5. 内存泄漏,关于异步回调导致的内存泄漏,使用
  6. 让Android自带的Gallery实现多点缩放,拖动
  7. Google:所有含 Android(安卓)Market 的 An
  8. android 使用handler更新ui,使用与原理分
  9. Android(安卓)之 Window、WindowManager
  10. Android中AsyncTask的简单用法