首页
社区
课程
招聘
[求助]请问:怎么拦截Textout这个API,并获取Textout的字符?
发表于: 2012-5-4 09:14 10020

[求助]请问:怎么拦截Textout这个API,并获取Textout的字符?

2012-5-4 09:14
10020
收藏
免费 0
支持
分享
最新回复 (18)
雪    币: 622
活跃值: (294)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
2
调用Detour,微软提供的解决方案
2012-5-4 10:55
0
雪    币: 615
活跃值: (172)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
3
iat hook这个Textout API就行了,很简单的说...
2012-5-4 11:10
0
雪    币: 26
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
代码是怎样的呢
2012-5-4 11:53
0
雪    币: 615
活跃值: (172)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
5
我没时间给你写代码,自己写,不会就百度,思路已给你了
2012-5-4 12:17
0
雪    币: 615
活跃值: (172)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
6
说简单的前提是你要掌握pe结构
2012-5-4 12:19
0
雪    币: 538
活跃值: (259)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
注意  楼主说的是VB6来实现
如果说其他语言来实现那确实不是问题,
但是VB不一样,
vb要弄注入或HOOK之类的那得涉及vb编译标准dll和vb多线程两个问题
这两个问题虽不是不能解决 但也不是那么容易的.
2012-5-4 12:45
0
雪    币: 615
活跃值: (172)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
8
不知道楼上想说什么,什么叫标准dll?
虽然我不怎么玩vb,但是windows api调用都差不多的,
全局hook是需要编译dll来注入,不仅是vb,这是windows 平台同一套api,所有语言一样......

关键是现在没有用到全局hook,只是hook导入表
2012-5-4 13:14
0
雪    币: 615
活跃值: (172)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
9
目标程序直接给LoadLibrary,顶多也就是远程打开进程再WriteProcessMemory一下,当然我们都为了简单习惯LoadLibrary
2012-5-4 13:23
0
雪    币: 26
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
OpenFileMapping 这个函数返回的句柄能由当前进程启动的新进程继承,这里的继承是什么意思呢
2012-5-4 13:27
0
雪    币: 962
活跃值: (1681)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
vb6 hook比较麻烦的 主要是函数和结构不是标准的.......
2012-5-4 13:57
0
雪    币: 615
活跃值: (172)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
12
这里的hook是直接改写导入表,没有数据达到hook,没有用到任何hook 相关api
2012-5-4 14:09
0
雪    币: 538
活跃值: (259)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
13
vb写的dll可以直接load? 如果没做特殊处理的话要么无法运行 要么 "嘣....内存xxxx不能为read..."
2012-5-4 19:40
0
雪    币: 615
活跃值: (172)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
14
vb的dll工程我没玩过,刚看了一下好像vb只能做com类型的dll,
那就用com方式调用好了..........
2012-5-4 20:46
0
雪    币: 26
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
这个代码拦截到了textout hook,现在就是不知道怎么去把拦截到的字符拿出来,要用什么知识呢,如果能写好,请联系我QQ:599183369 感谢
2012-5-6 16:50
0
雪    币: 26
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
InvalidateRect怎么使用,这样用对吗,其他都写好了,就缺刷新鼠标位置区域了
rec.Bottom = pt.y - 30
rec.Left = pt.x
rec.Right = pt.x - 30
rec.Top = pt.y
                 
i = InvalidateRect(Form1.hwnd, rec, True)
2012-5-8 07:16
0
雪    币: 145
活跃值: (105)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
17
调用Detour,微软提供的解决方案 ,这个好用,而且比自己写的稳定,刚用过
2012-5-8 08:25
0
雪    币: 26
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
18
怎么产生重绘,要在局部区域产生,鼠标指针到哪里,哪里就产生。主要是要重绘的时候,通过HOOK TEXTOUT后,将文字拦截下来。
2012-5-8 12:33
0
雪    币: 188
活跃值: (336)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
vb?太不方便,还有碰上多线程调用你的dll线程没有初始化,就等着非法吧,除非你的hook中都是纯api的,那样还不如用C++什么的
2012-5-13 02:07
0
游客
登录 | 注册 方可回帖
返回
//