这么简单的问题,谁解决了我直接给现金!!

topycsdn 2007-08-06 02:06:48
首先说明一下,我从来没有搞过底层方面的东西,所以现在要用到了无力去研究。我现在需要这样一个DLL库。

通过33H中断控制鼠标的隐藏/显示/移动/点击。
必须支持2K,XP操作系统,能支持W2003更好。
相信搞过vc的人都很容易完成吧?

是否有人愿意做一个这样的dll给我?哪位好心人帮我贴出代码我感激不尽。
实在不行我直接给现金,或者把手机号给我我帮你冲电话费。

我的QQ 42122246

谢谢大家,我研究了一个星期。网上很多都是介绍用TC实现的,但是我没接触过TC,而已不知道怎么做。只能来这求助了。
...全文
651 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
ringphone 2007-08-15
  • 打赏
  • 举报
回复
mark
taianmonkey 2007-08-15
  • 打赏
  • 举报
回复
写一个过滤驱动进行处理
会思考的草 2007-08-14
  • 打赏
  • 举报
回复
呵呵,从硬件上说比较简单,自己做一个硬件来模拟鼠标就可以了,协议是公开的。软件上来说恐怕要在i8042prt.sys上挂个filter?前者我做过后者没做过:)
TianChong 2007-08-13
  • 打赏
  • 举报
回复
本来也想说使用驱动的,想不到楼主高人,自己解决了。赞一个。
hurryboylqs 2007-08-13
  • 打赏
  • 举报
回复
汇编
zhaoyu_me 2007-08-13
  • 打赏
  • 举报
回复
强帖留名
yisheng163 2007-08-10
  • 打赏
  • 举报
回复
i8042芯片
什么东东啊.  高手 高处理不胜寒啊.
fronz 2007-08-10
  • 打赏
  • 举报
回复
呵呵,都找到i8042那里去了,没听说过,:<

芯片级别的控制,用的汇编?
很简捷、有效的思路。


真的都好用了?恭喜。
topycsdn 2007-08-10
  • 打赏
  • 举报
回复
***************************************************
感谢大家对此问题的关注!
去图书馆查阅资料后我已彻底解决!
现在将方法公布一下!
再给大家几天时间讨论,然后结贴!
***************************************************

(我们的电脑都是使用i8042芯片对鼠标键盘进行控制,主要有64H和60H两个端口可以控制它)

按照下列步骤操作模拟鼠标左键的一次单击:


等待64H端口为空;(向i8042写入鼠标按下信息)
把D3H写入64H端口;
等待64H端口为空;
把09H写入60H端口;

等待64H端口为空;(其他的坐标信息都写0就可以)
把D3H写入64H端口;
等待64H端口为空;
把00H写入60H端口;
等待64H端口为空;
把D3H写入64H端口;
等待64H端口为空;
把00H写入60H端口;
等待64H端口为空;
把D3H写入64H端口;
等待64H端口为空;
把00H写入60H端口;



等待64H端口为空;(向i8042写入鼠标释放信息)
把D3H写入64H端口;
等待64H端口为空;
把09H写入60H端口;

等待64H端口为空;(其他的坐标信息都写0就可以)
把D3H写入64H端口;
等待64H端口为空;
把00H写入60H端口;
等待64H端口为空;
把D3H写入64H端口;
等待64H端口为空;
把00H写入60H端口;
等待64H端口为空;
把D3H写入64H端口;
等待64H端口为空;
把00H写入60H端口;
「已注销」 2007-08-08
  • 打赏
  • 举报
回复
那你去驱动开发网上找,免费代码有一些,上面研究这个的牛人也多
topycsdn 2007-08-08
  • 打赏
  • 举报
回复
就是在驱动级别控制鼠标的隐藏/显示/移动/点击。

hook不行。那是系统级别的。
「已注销」 2007-08-08
  • 打赏
  • 举报
回复
具体要实现什么样的功能,用HOOK不行么?
fox1999 2007-08-08
  • 打赏
  • 举报
回复
我想樓主是需要一個鼠標的過濾驅動
jun_01 2007-08-07
  • 打赏
  • 举报
回复
关于QQ游戏外挂mouse_event不起作用的原因,及我的对对碰外挂程序.
内容


相信很多朋友都使用过QQ游戏的外挂和自己也开发过.
但可能你会发现,mouse_event不起作用了.这是为什么呢?
我写对对碰外挂的时候也碰到了.下面就把实现和解决过程说明如下.
关于如何判断对对碰中是否可以消除的代码略过(大家应该都是通过颜色来判断的),因
字串6

为这部分不是难点.
字串4

写好外挂后,反复测试发现,只有第一次运行结果正确,之后就不起作用了,然后动一下

字串9

鼠标或者点一下鼠标键就又起作用了.想到可能是QQ游戏起作用判断,它能分辨模拟鼠

字串7

标运作的硬件鼠标动作.(觉得QQ游戏写的很牛,佩服呀~~~) 字串7

经过查看目录,发现在游戏目录下面一般都会有这个文件kmsinput.sys,使用ida pro打 字串1

开分析发一下,发现这是nt下的鼠标的驱动,将作为过滤器filter加到的挂接到鼠标驱 字串8

动中的,这基本上就证实了我的想法,肯定是通过这个驱动程序来分辨模拟鼠标运作还 字串3

是硬件鼠标动作的. 字串2

然后就设想:当点击鼠标时,QQ程序应该是通过这个驱动程序来检测是否为硬件鼠标的

字串5

动作,我们的硬件鼠标是能够检测到的,如果你调用了mouse_event则视为非硬件鼠标动 字串6

作.就不处理鼠标动作,也就是认为你是模拟鼠标,表示你使用的外挂程序.
字串4

没办法只能反汇编跟踪调试了,先用ida pro反汇编了一下,发现有很大一部分区域没办 字串1

法反汇编出来,想到肯定是有加密了.于是我就使用windbg运行来分析了,通过跟踪鼠标 字串1

点击消息,发现在这个地方会跳转
字串4

00408519 8b11 mov edx,[ecx]
0040851b 6a01 push 0x1
0040851d ff5208 call dword ptr [edx+0x8]
00408520 3dc9d56601 cmp eax,0x166d5c9 //这是比较
00408525 0f85a0000000 jne twin!CxImage::`copy constructor closure'+0x6a7b 字串5

(004085cb) // 这是这里,如果是硬件鼠标动作不跳,如果是模拟就跳转了
找到了这个地方,就容易多了,很简单把 cmp eac,0x166d5c9改为cmp eax,eax
剩下的三个字节改为90 90 90. 字串5

再运行程序和外挂测试通过.大功告成了!哈哈... 字串4

另个,又研究发现,对对碰的速度是通过Sleep控制的,写了一个api hook,hook到Sleep, 字串2

将参数
VOID WINAPI CTwinHookFunc::MySleep(DWORD dwMilliseconds)
{
...
dwMilliseconds = dwMilliseconds/5; // 变为1/5
...
p_Sleep(dwMilliseconds); // 调用真正的sleep函数
}


再次测试,哇靠,好快呀~~~
通过实战,挂了半天,发现可以同时对付几个人而且也不会输.胜率为90%,2000多分了. 字串3

对对碰外挂程序下载:
http://adong2008.512j.com/temp/DDPHelp.rar
好久不玩QQ游戏了,上面的外挂是针对对对碰版本0.10.1.12的.


有任何问题欢迎交流
jun_01 2007-08-07
  • 打赏
  • 举报
回复
try:
mouse_event
qwertxp 2007-08-07
  • 打赏
  • 举报
回复
楼主已经急疯了。。。
中断啊,回到了DOS时代,恩,时间倒流的感觉~
littlegang 2007-08-07
  • 打赏
  • 举报
回复
zzz3265(zzz) ( ) 信誉:103 2007-8-7 4:39:46 得分: 0

鼠标的隐藏/显示 用 ShowCursor

/移动/点击 用 keybd_event
网站上现成的例子比较多
-------------------------
顶一记



fronz 2007-08-07
  • 打赏
  • 举报
回复
不太明白LZ意图。
好象也不太简单啊,DOS好说,
WINDOWS要复杂的多,还要求兼容性。
你是想搞一个软件,使用该软件时,调用鼠标驱动,使得鼠标受控。是这样吧,



WizardK 2007-08-07
  • 打赏
  • 举报
回复
仅仅需要控制鼠标?
cczlp 2007-08-07
  • 打赏
  • 举报
回复
问错地方了, 接管中断需要在驱动中实现, 应用层没有办法.
加载更多回复(4)

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧