首页
社区
课程
招聘
[原创][分享]X64下使用GetWindowLongPtr跨进程取其他进程的WNDPROC等
发表于: 2019-10-1 01:45 13787

[原创][分享]X64下使用GetWindowLongPtr跨进程取其他进程的WNDPROC等

2019-10-1 01:45
13787

众所周知GetWindowLongPtr 是用于在指定的窗口中获取信息

那么问题来了,我要是想取其他进程窗口的WNDPROC这样的操作可不可行呢?

于是我开始查询相关资料 有关资料也几乎是一年前的代码 且都只是在 x86 上实现

但也不是没有收获   根据前人帖子中所说 x86 中 GetWindowLong  没有进内核只是读取了一个共享的 WND结构体 所有进程都能访问

既然这样的话 我们可以直接修改自己进程中的USER32.GetWindowLongPtrW函数代码实现跨进程取WNDPROC


如图所示 我们在USER32.GetWindowLongPtrW 函数头部下断点寻找判断目标窗口是否属于自身进程的汇编代码

通过单步调试发现就是这句,判断目标窗口是否属于自身进程



[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 7
支持
分享
最新回复 (15)
雪    币: 12502
活跃值: (3053)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
哈哈,想到好多奇怪的功能
2019-10-1 06:40
0
雪    币: 1641
活跃值: (3601)
能力值: (RANK:15 )
在线值:
发帖
回帖
粉丝
3
有点用,花里胡哨的
2019-10-1 17:47
0
雪    币: 2065
活跃值: (500)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
4
白菜大哥 哈哈,想到好多奇怪的功能
嘿嘿嘿 能干啥就需要你们自己发挥想象力了喲
2019-10-1 17:54
0
雪    币: 2065
活跃值: (500)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
5
刘铠文 有点用,花里胡哨的
一个jne而已
2019-10-1 17:54
0
雪    币: 6124
活跃值: (4646)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
6
有点意思。
2019-10-1 19:37
0
雪    币: 22
活跃值: (443)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
有点意思
2019-10-1 19:49
0
雪    币: 2065
活跃值: (500)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
8
第一次发帖 自己顶一顶
2019-10-2 00:35
0
雪    币: 26588
活跃值: (63252)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
9
哈哈,顶一下
2019-10-2 10:40
0
雪    币: 73
活跃值: (923)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
擦,我想到了很多。。。嗯。。。。ws的东西。。。自己之前也有想过这个问题,但是MSDN上就一句话带过,反正只能拿到WND这个共享的结构体。。。。。佩服楼主的深挖精神,值得我辈学习。
2019-10-8 09:49
0
雪    币: 83
活跃值: (1087)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
11
可以
2019-12-13 08:15
0
雪    币: 213
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
虽然不知道在干嘛,但很棒
2023-6-27 21:48
0
雪    币: 3856
活跃值: (3623)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
干坏事?? 不知道受不受保护 打标记 有空试试
2023-6-27 22:53
0
雪    币: 97
活跃值: (141)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
14
哈哈,这个也行。
2023-12-28 06:42
0
雪    币: 245
活跃值: (294)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
需要时回来看
2024-4-26 17:52
0
雪    币: 3836
活跃值: (4142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
支持
2024-4-26 22:32
0
游客
登录 | 注册 方可回帖
返回
//