Feeling

    三人行,必有我师焉

   ::  :: 新随笔 :: 联系 ::  :: 管理 ::
  85 随笔 :: 0 文章 :: 392 评论 :: 0 Trackbacks

新增了4个Low Level Hook:Mouse_LL,Keyboard_LL, JournalRecord,JournalPlayback。由于是Low Level Hook,因此Hook是不依赖于dll,所以可以直接将HookProc在Java程序中编写。这四个钩子都是全局的,而且都很有用处。Mouse_LL,Keyboard_LL,自不必说,用来监听鼠标和键盘的。Journal的2个Hook则是所谓的日志钩子,WH_JOURNALPLAYBACK Hook使应用程序可以插入消息到系统消息队列。可以使用这个Hook回放通过使用WH_JOURNALRECORD Hook记录下来的连续的鼠标和键盘事件。只要WH_JOURNALPLAYBACK Hook已经安装,正常的鼠标和键盘事件就是无效的。WH_JOURNALPLAYBACK Hook是全局Hook,它不能象线程特定Hook一样使用。WH_JOURNALPLAYBACK Hook返回超时值,这个值告诉系统在处理来自回放Hook当前消息之前需要等待多长时间(毫秒)。这就使Hook可以控制实时事件的回放。

基本上现在用SWT-Extension来实现这四个Hook还是很容易的,做了一下简单的数据封装和事件封装,而且加入了结合体对象和JNI的handle互相转换的函数。用来做C++的一些事情还是比较得心应手的。最新版本的Example提供了一个简单的系统Record/Playback例子,可以记录和回放系统事件。

 

最新的build已经发布到 http://feeling.sourceforge.net 上了,有兴趣的可以下载看看,并且可以作为Eclipse插件使用,支持 eclipse 3.2 以上版本。

PS: Journal的2个Hook Vista已经停止支持了,所以这个例子在Vista 下是看不到的:-(
posted on 2007-12-12 18:18 三人行,必有我师焉 阅读(1399) 评论(2)  编辑  收藏

评论

# re: 为SWT-Extension新增了4个Low Level Hook,可以用来做木马了:) 2007-12-13 12:49 jeasonzhao
是不是需要DLL支持?还是直接调用的User.dll?  回复  更多评论
  

# re: 为SWT-Extension新增了4个Low Level Hook,可以用来做木马了:) 2010-04-23 16:58 tiandiwuji
什么东西啊?  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航:
 
GitHub |  开源中国社区 |  maven仓库 |  文件格式转换