首页
社区
课程
招聘
未解决 [求助]Hook BitBlt函数,某个软件的界面显示就不正常了。
发表于: 2019-8-6 16:04 4435

未解决 [求助]Hook BitBlt函数,某个软件的界面显示就不正常了。

2019-8-6 16:04
4435
钩子里面什么都不做,直接调用系统的BitBlt函数,那个软件的界面仍然不正常。
去掉钩子后,使用PCHunter查看软件本身的钩子,发现有钩子,但只是挂了TerminalProcess,ExitProcess,NtTerminalProcess,并没有钩BitBlt函数。
Hook后打印了BitBlt各个参数的值,也是正常的。调用系统BitBlt结果也都是成功的。
没有头绪往下分析了,求指点一下往下分析应当怎么分析。给个思路。谢谢。

2019-08-07补充内容:会导致使用WS_EX_LAYERED属性的窗口不能正常显示,只显示一个黑框或白框,单核CPU占用率100%。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2019-8-7 14:30 被牧风编辑 ,原因: 补充内容
收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 785
活跃值: (418)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
其他的软件都正常,只有一个软件不正常。
2019-8-6 16:53
0
雪    币: 785
活跃值: (418)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
使用的MHook钩的。没有出错。
2019-8-6 17:02
0
雪    币: 4877
活跃值: (2794)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
你是如何调用系统的BitBlt函数的呢?是先取消钩子再调用原函数然后恢复钩子的吧 ?
这种情况下,你需要考虑多线程.
2019-8-6 18:21
0
雪    币: 785
活跃值: (418)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
Carezy 你是如何调用系统的BitBlt函数的呢?是先取消钩子再调用原函数然后恢复钩子的吧 ? 这种情况下,你需要考虑多线程.
不是的,hook后不是有一个原函数吗?我在钩子函数里面直接调用原函数,都不行。
2019-8-7 10:51
0
雪    币: 785
活跃值: (418)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
补充一下内容,使用WS_EX_LAYERED属性的窗口都不能正常显示了。
2019-8-7 14:28
0
雪    币: 181
活跃值: (636)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
不成熟翻译:某个安全公司的产品需要解决外发水印问题
2019-8-7 15:24
0
雪    币: 785
活跃值: (418)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
柒雪天尚 不成熟翻译:某个安全公司的产品需要解决外发水印问题[em_14]
不懂。。。。
2019-8-7 16:03
0
雪    币: 244
活跃值: (454)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
柒雪天尚 不成熟翻译:某个安全公司的产品需要解决外发水印问题[em_14]
你可能知道的太多了。 知道太多的人是活不长的
2019-8-7 16:56
0
雪    币: 785
活跃值: (418)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
寧靜致遠 你可能知道的太多了。 知道太多的人是活不长的[em_78][em_78][em_78][em_78][em_78][em_78]
都什么和什么啊?
2019-8-7 17:51
0
雪    币: 2053
活跃值: (1796)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
写个naked函数,试试看是不是寄存器问题
2019-8-7 20:45
0
雪    币: 12502
活跃值: (3068)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
多线程冲突了。你改的同时,他也在执行,执行到了奇怪的opcode。
2019-8-8 07:37
0
雪    币: 785
活跃值: (418)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
youxiaxy 写个naked函数,试试看是不是寄存器问题
不太懂了,看来还有太多要学的。。。
2019-8-8 09:05
0
雪    币: 2053
活跃值: (1796)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
白菜大哥 多线程冲突了。你改的同时,他也在执行,执行到了奇怪的opcode。
正常情况下,mhook是线程安全的吧。执行时  有 CriticalSection互斥  且 会暂停其他线程并检测线程EIP,保证不与修改部分冲突。
2019-8-8 19:00
0
雪    币: 785
活跃值: (418)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
youxiaxy 写个naked函数,试试看是不是寄存器问题
能否具体说明一下怎么操作?
2019-8-8 20:00
0
雪    币: 785
活跃值: (418)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
暂时避开了那个软件,不解决了。
2019-8-19 17:14
0
游客
登录 | 注册 方可回帖
返回
//