最近HOOK 到了***的聊天记录。但存在一些问题。因为是HOOK ExtTextOut所以每次发信息和收信息或者移动聊天窗口或者改变大小只要是窗口重绘就会调用ExtTextOut,我Hook了ExtTextOut在我的MyExTextOut中对数据进行保存,这样就会反复抓取聊天信息,造成结果重复。而且发现当发送或接收到的信息超过一屏显示时,超过的部分由于暂时不在显示区域显示所以HOOK不到。这样结果就只有显示区域的部分。有人说再HOOK 一个BeginPaint,但是我没想明白这样有什么用。哪位高手能给个思路。提示一下也行。谢谢。下面是我抓的LOG。
从这开始是发送窗口的数据,每打一个字就会调ExtTextOut,就会被抓一次。有很多重复数据。
....
BeginPaint...
{0,0 Flags:4 Rect:0,12,0,374 5} 八次测试。
{0,12 Flags:4 Rect:12,24,0,374 5} 九次测试。
{0,24 Flags:4 Rect:24,36,0,374 5} 十次测试。
{0,36 Flags:4 Rect:36,48,0,374 6} 十一次测试。
{0,48 Flags:4 Rect:48,60,0,374 5} 二二沟仔。
{0,60 Flags:4 Rect:60,72,0,374 3} 十三。
EndPaint.
BeginPaint...
{0,0 Flags:4 Rect:0,12,0,374 5} 八次测试。
{0,12 Flags:4 Rect:12,24,0,374 5} 九次测试。
{0,24 Flags:4 Rect:24,36,0,374 5} 十次测试。
{0,36 Flags:4 Rect:36,48,0,374 6} 十一次测试。
{0,48 Flags:4 Rect:48,60,0,374 5} 二二沟仔。
{0,60 Flags:4 Rect:60,72,0,374 3} 十三。
{0,72 Flags:4 Rect:72,84,0,374 1} 十
EndPaint.
BeginPaint...
{0,0 Flags:4 Rect:0,12,0,374 5} 八次测试。
{0,12 Flags:4 Rect:12,24,0,374 5} 九次测试。
{0,24 Flags:4 Rect:24,36,0,374 5} 十次测试。
{0,36 Flags:4 Rect:36,48,0,374 6} 十一次测试。
{0,48 Flags:4 Rect:48,60,0,374 5} 二二沟仔。
{0,60 Flags:4 Rect:60,72,0,374 3} 十三。
{0,72 Flags:4 Rect:72,84,0,374 2} 十四
....
从这开始是聊天信息显示窗口的数据
坐标 范围 字数 内容
BeginPaint...
{0,32 Flags:4 Rect:30,46,0,375 13} 没文化 14:57:56
{18,48 Flags:4 Rect:46,62,0,375 5} 一次测试。
{0,64 Flags:4 Rect:62,78,0,375 13} 没文化 14:57:58
{18,80 Flags:4 Rect:78,94,0,375 5} 二次测试。
{0,96 Flags:4 Rect:94,110,0,375 13} 没文化 14:58:02
{18,112 Flags:4 Rect:110,126,0,375 5} 三次测试。
{0,128 Flags:4 Rect:126,142,0,375 13} 没文化 14:58:05
{18,144 Flags:4 Rect:142,158,0,375 5} 四次测试。
EndPaint.
重绘引起的重复。会有很多遍
BeginPaint...
{0,32 Flags:4 Rect:30,46,0,375 13} 没文化 14:57:56
{18,48 Flags:4 Rect:46,62,0,375 5} 一次测试。
{0,64 Flags:4 Rect:62,78,0,375 13} 没文化 14:57:58
{18,80 Flags:4 Rect:78,94,0,375 5} 二次测试。
{0,96 Flags:4 Rect:94,110,0,375 13} 没文化 14:58:02
{18,112 Flags:4 Rect:110,126,0,375 5} 三次测试。
{0,128 Flags:4 Rect:126,142,0,375 13} 没文化 14:58:05
{18,144 Flags:4 Rect:142,158,0,375 5} 四次测试。
EndPaint.
这里超出显示区域的一,二行没有抓到。接收和发送的都存在这个问题。
BeginPaint...
{18,-9 Flags:4 Rect:0,5,0,375 2} 三没
{18,7 Flags:4 Rect:5,21,0,375 2} 四没
{18,23 Flags:4 Rect:21,37,0,375 2} 五澧
{18,39 Flags:4 Rect:37,53,0,375 2} 六国
{18,55 Flags:4 Rect:53,69,0,375 1} 七
{18,71 Flags:4 Rect:69,85,0,375 1} 八
{18,87 Flags:4 Rect:85,101,0,375 1} 九
{18,103 Flags:4 Rect:101,117,0,375 1} 十
{18,119 Flags:4 Rect:117,133,0,375 2} 十一
{18,135 Flags:4 Rect:133,149,0,375 2} 十二
{18,151 Flags:4 Rect:149,165,0,375 2} 十三
{18,167 Flags:4 Rect:165,181,0,375 2} 十四
{18,183 Flags:4 Rect:181,197,0,375 3} 十五要
{18,199 Flags:4 Rect:197,213,0,375 4} 十六顺
EndPaint.
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课