Open PShocker opened 2 years ago
有没代码
@5403293 有没代码
sry,我只做分析,不提供代码.
我hook了eglSwapBuffers,并且在new_eglSwapBuffers里面初始化了imgui,就是没办法绘制出画面,我的imgui渲染也是在new_eglSwapBuffers里面运行的,不知道这个是否对我目前的问题产生影响。
@hsk2636166082 我hook了eglSwapBuffers,并且在new_eglSwapBuffers里面初始化了imgui,就是没办法绘制出画面,我的imgui渲染也是在new_eglSwapBuffers里面运行的,不知道这个是否对我目前的问题产生影响。
你确定hook成功了? 或者你在new_eglSwapBuffers里调用glClearColor(0,0,0,0);看看画面是否被清空了.
我是安卓11的为什么hook eglSwapBuffers绘制测试是没效果的
@5403293 我是安卓11的为什么hook eglSwapBuffers绘制测试是没效果的
你确定hook成功了? 你可以在new_eglSwapBuffers用LOGD打印日志,或者调用glClearColor(0,0,0,0);看看画面是否被清空了.
@PShocker
@5403293 我是安卓11的为什么hook eglSwapBuffers绘制测试是没效果的
你确定hook成功了? 你可以在new_eglSwapBuffers用LOGD打印日志,或者调用glClearColor(0,0,0,0);看看画面是否被清空了.
用的是你放在github的例子代码编译的,注入运行二进制,注入so没效果
@PShocker
@5403293 我是安卓11的为什么hook eglSwapBuffers绘制测试是没效果的
你确定hook成功了? 你可以在new_eglSwapBuffers用LOGD打印日志,或者调用glClearColor(0,0,0,0);看看画面是否被清空了.
应该是hook失败的
您好,请教下这段代码中 static void init_dobby() { void sym_eglSwapBuffers = DobbySymbolResolver(NULL, "eglSwapBuffers"); if (NULL != sym_eglSwapBuffers) { LOGD("sym_eglSwapBuffers:%llx", (unsigned long long)sym_eglSwapBuffers); DobbyHook(sym_eglSwapBuffers, (void )new_eglSwapBuffers, (void **)&ori_eglSwapBuffers); } }
ori_eglSwapBuffers这个变量是???
@hsk2636166082 我hook了eglSwapBuffers,并且在new_eglSwapBuffers里面初始化了imgui,就是没办法绘制出画面,我的imgui渲染也是在new_eglSwapBuffers里面运行的,不知道这个是否对我目前的问题产生影响。
我的情况和你的一样,成功hook了eglSwapBuffers,然后在new_eglSwapBuffers创建了ImGui的上下文,但是使用绘制函数只有游戏画面,没有自己绘制的画面
东西是画出来了,但是好像颜色不对,都是黑色的
大佬 有没有qq群 tg群啥的,想进群学习一下
大佬 有没有qq群 tg群啥的,想进群学习一下
没有
@Aery-G 大佬,hook 了 app 内部 eglSwapBuffers 函数,zygisk注入某迅农药游戏时可以显示imgui了,但是窗口分辨率似乎不太对劲啊,由于我获取的是系统input.so的触摸,但是现在触摸的点和imgui的显示位置无法对应,游戏的触摸正常。而且imgui窗口大小随我更改游戏画质而变化,怎么样可以解决呢,或者说获取游戏的触摸可以伪解决?
让你的游戏分辨率和手机分辨率一致,或者你根据分辨率对触摸点进行转换
当然,我如果注入穿越火线最后的战役这款游戏的话,那么一切正常,触摸显示符合预期,某迅似乎魔改了农药的unity显示?
说实话农药不建议用这个,农药的u3d有三套suface,即使hook了egl后面画东西也会有别的问题。
大佬,我尝试hook eglSwapBuffers 但是发现游戏没有调用eglSwapBuffers 这个函数,这种情况要怎么注入imgui
https://pshocker.github.io/2022/03/21/Magisk%E6%B3%A8%E5%85%A5app%E5%B9%B6%E5%B5%8C%E5%85%A5imgui/
之前我在52上发了一个帖,Android几种特殊绘制方框方法,其中有说到Hook Surfaceflinger进程的eglSwapBuffers函数.实际上,在安卓12里,Surfaceflinger进程已经没有eglSwapBuffers函数了,而且注入的模板也要改进.需要关闭selinux并且要把linker和libc的路径分别改为 12/apex/com.android.runtime/bi