WinIo64驱动级别的键盘模拟(java)

文章介绍了如何使用WinIo64和Java进行驱动级别的键盘模拟,特别是在处理32位到64位环境转换的问题。在Windows 7 64位系统下,需要特定的环境和设备,如WinIo64.dll和WinIo64.sys,以及PS/2键盘。此外,详细阐述了开启测试模式和签名认证WinIo64驱动的过程,并提供了代码示例。这种方法适用于个人需求,但在生产环境中使用存在局限性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    最近因为爬虫登录的网站加了密码控件,尝试了很多方法都不能破解(该控件屏蔽了虚拟软键盘),寻找资料中发现了winIo这么工具,十几年前的东西了,它的官网貌似也处于游离状态,使用中也出现了很多问题,便以此mark一下。

    最开始从这里获取到了winIo32实现驱动级键盘事件,但使用的是JNative(目前只支持32位),同时winIO32在64位的OS下运行有问题(本人测试过可能过程中有没考虑到的原因,此文略过)所以采用winIo64+JNA来实现键盘的驱动级模拟。

    在开始前,先申明一下所需要的环境和设备(本文主要在window7 64位环境下测试):

1.WinIo64.dll 和 WinIo64.sys(下载请见上面winIo32实现驱动级键盘事件的附件key文件夹

2.因为WinIo库允许Windows应用程序中直接对I/O端口和物理内存进行存取操作,目前从网上找到的资料winio能模拟PS/2键盘输入(串口键盘),但USB设备的模拟暂时资料不详,所以此次以PS/2键盘模拟为例(必须链接PS/2键盘,否者模拟无效)。

3.WinIo64.sys签名:64位版本的Windows只加载设备驱动程序,这些驱动程序由一个公共CA签发的代码签名证书签署,如Verisign、Thawte等。WinIo64 除非获得了代码签名证书,否则系统不能部署在生产机器上。

    a.开启测试模式

           1)管理员模式运行cmd

           2)在命令行输入:bcdedit /set TESTSIGNING ON

评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值