-
-
[原创][分享]X64下使用GetWindowLongPtr跨进程取其他进程的WNDPROC等
-
2019-10-1 01:45
6094
-
[原创][分享]X64下使用GetWindowLongPtr跨进程取其他进程的WNDPROC等
众所周知GetWindowLongPtr 是用于在指定的窗口中获取信息
那么问题来了,我要是想取其他进程窗口的WNDPROC这样的操作可不可行呢?
于是我开始查询相关资料 有关资料也几乎是一年前的代码 且都只是在
x86
上实现
但也不是没有收获 根据前人帖子中所说 x86 中 GetWindowLong 没有进内核只是读取了一个共享的
WND结构体 所有进程都能访问
既然这样的话 我们可以直接修改自己进程中的USER32.GetWindowLongPtrW函数代码实现跨进程取WNDPROC

如图所示 我们在USER32.GetWindowLongPtrW 函数头部下断点寻找判断目标窗口是否属于自身进程的汇编代码
通过单步调试发现就是这句,判断目标窗口是否属于自身进程

于是我把这个jne直接nop

果不其然的 成功取到了目标窗口的
WNDPROC

是的你没有看错 就是这么简单 感谢前人的帖子让我不走弯路
另外代码我就不放出来了
修改自己进程内的代码 这么简单是操作也不需要我 发代码出来了吧
来看雪有段时间了 发现没人发x64
GetWindowLongPtr 相关的帖子 我就寻思我是不是要发一波?
[2023春季班]《安卓高级研修班(网课)》月薪两万班招生中~