您的位置:程序门 -> vb ->



找高人求助:用vb拦截api获取其他进程中label中的字符


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


找高人求助:用vb拦截api获取其他进程中label中的字符[已结贴,结贴人:lichuansnowflak]
发表于:2007-06-27 11:08:57 楼主
我的方法:1.找到textouta的地址   2.在目标进程中分配空间   3.将textouta的地址写到新的位置   4.在原textouta的地址写入拦截函数   +   跳转到新地址

问题:在4步,使用vb怎么写入拦截函数?直接写入汇编代码的二进制吗?
发表于:2007-06-27 13:10:081楼 得分:8
好强啊~~

我觉得是在原textouta的地址写入jmp   xxxx跳到自己的函数
发表于:2007-06-27 13:39:472楼 得分:2
能实现吗?你的第一步的textouta地址怎么找到的?
发表于:2007-06-27 13:40:043楼 得分:2
做个记号
发表于:2007-06-27 21:43:464楼 得分:2
貌似只能找到label所在form的内存地址
发表于:2007-06-28 08:29:135楼 得分:30
textout是一个windows   api,入口代码存在于gdi32.dll中,要拦截它,必须用全局钩子,在任一个进程被载入时调用钩子dll,改写gdi32.dll中的textout地址.
发表于:2007-06-28 08:33:006楼 得分:2
做个记号

发表于:2007-06-28 10:40:377楼 得分:2
强,做个记号
发表于:2007-06-28 10:46:258楼 得分:2
呵呵.如果真的有需要的话可以操作注册表.
发表于:2007-06-29 10:24:109楼 得分:0
to:   yzswhscglbgs()     :我使用的vb去拦截textouta,经过测试,能够拦截本线程中的textouta,但是不能够拦截目标线程。原因是我没有办法将我的替代函数注入到目标线程中。

发表于:2007-06-29 21:50:0810楼 得分:22
。。。。。。。。。这个,,不一定非要注入吧。。
读写内存是不是可以呢

获取函数的入口点,从而获取调用时的参数不就知道内容了?

这个实现的方法比较多,豆豆版主就有一个hookapi的代码发出来过,应该可以满足你的要求。最近我在写一个调试器,应该也能满足你的要求,不过我还没能完成,在步进调试获取上下文的时候有点问题,呵呵,另外代码是.net写的,你从调试这个方向也可以解决。
发表于:2007-06-30 03:45:1311楼 得分:22
豆子的hook   api代码在此:

http://www.m5home.com/bbs/dispbbs.asp?boardid=10&id=1041&page=1

利用它做的一个小应用,hook任务管理器,防止被结束:

http://www.m5home.com/soft/noterminateprocess.rar

要努力......现在我还太弱了.....:(
发表于:2007-07-01 16:19:1812楼 得分:0
to   zcsor(偶业余的虽然星星了,但是水平依然是非常业余的。)   :
这样也可以,我正在测试,我使用的汇编代码,但是不知道什么原因,总是得不到截取的字符。汇编我不是很熟,下面是我使用的代码,不知道有没有错误。
push   ebp
push   eax
mov   ebp,esp
add   ebp,16       'textouta函数的第四个参数地址(我不知道这里是不是正确的)
mov   eax,ebp
mov   dword   ptr[目标进程中分配的变量地址],eax     '将参数地址传输到内存变量,方便程序读取
pop   eax
pop   ebp
发表于:2007-07-01 16:25:2313楼 得分:2
关注
发表于:2007-07-08 08:52:4414楼 得分:0
搞定,自己顶,分也送不出去,郁闷
发表于:2007-07-09 14:22:1415楼 得分:2
如何搞定的,说一下啊~
发表于:2007-07-09 20:33:1416楼 得分:0
通过跟踪程序,发现程序跳转到textouta的时候,寄存器eax刚好是我要截取的字符串的地址,到这里就简单了,将通过寄存器间接寻址,获取字符串的16进制数,写到某一个内存地址里,然后在程序里面实时读取该内存地址里面的数据,转换成字符就可以了。
发表于:2007-07-09 20:35:0017楼 得分:0
上面说的工作都是通过将汇编语言对应的16进制代码写入到函数跳转点。

看来该学习一下vc++了。
发表于:2007-07-10 02:09:0118楼 得分:2
其实win32汇编好象也不是非常复杂,最近在看罗老大的win32汇编程序开发,感觉比较好懂


快速检索

最新资讯
热门点击