一种智能密钥设备实现自动安装的方法和系统的制作方法

文档序号:6470821阅读:142来源:国知局
专利名称:一种智能密钥设备实现自动安装的方法和系统的制作方法
技术领域
本发明涉及智能卡领域,特别涉及一种智能密钥设备实现自动安装的方法和系统。
背景技术
.bat是一种批处理文件(也被称为批处理程序或脚本),它是无格式的文本文件,它包 含一条或多条命令。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就 会调用Cmd.exe,按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件,可 以简化日常或重复性任务。批处理程序虽然是在命令行环境中运行,但不仅仅能使用命令行 软件,任何32位的Windows程序都可以放在批处理文件中运行,
自动运行功能(autorun)是USB (Universal Serial BUS,通用串行总线)-SCSI (Small Computer Standard Interface,小型计算机系统接口)所自带的一个功能,它使得 对光盘的操作变得更加容易。 一般习惯上称这种自动运行程序为autorun程序。所以当含有 autorun程序的设备连接到计算机上时,计算机的操作系统如Windows会自动调用自动运行 程序,实现自动运行功能。
随着计算机技术和互联网技术的高速发展,网络在日常的生活、工作、学习等方面提供 了很大的方便,所以使得很多的活动转移到了网络上来进行。
然而,病毒(如autorun病毒)、黑客的出现,对网上的各种活动造成很大的威胁,而计 算机操作系统所支持的自动运行功能的存在,无疑给这些威胁制造了一定的机会,甚至成为 黑客的帮凶,因此,很多用户或是Windows安全防护程序出于安全等考虑,经常屏蔽Windows 操作系统的autorun功能,但是,发明人在实现本发明时发现,当屏蔽Windows操作系统的 autorun功能后,会使得一些设备的运行出现了问题,例如autorun类型的智能密钥设备无 法实现自动安装,需要人员进行手动安装,耗费时间和人力,造成不必要的浪费。

发明内容
为解决现有技术中,由于当操作系统的autorun功能被屏蔽时,autorun型智能密钥设 备不能实现自动安装的问题,本发明提供了一种智能密钥设备实现自动安装的方法和系统, 具体方案如下
一方面,提供了一种智能密钥设备实现自动安装的方法,所述方法包括-智能密钥设备与计算机建立连接
所述智能密钥设备向所述计算机声明自身为含有USB键盘设备的复合设备;
所述智能密钥设备向所述计算机发送预先定义的第一键盘消息序列,所述第一键盘消息 序列用于启动所述计算机的运行环境;
当启动所述运行环境后,所述智能密钥设备将预先存储的运行安装程序的脚本指令转换 为第二键盘消息序列,并将所述第二键盘消息序列发送给所述计算机;
所述智能密钥设备向所述计算机发送预先定义的第三键盘消息序列,所述第三键盘消息 序列用于运行安装程序。
其中,当安装程序运行完毕,执行应用程序时,所述方法还包括
所述计算机向所述智能密钥设备发送设备类型切换指令;
所述智能密钥设备收到所述设备类型切换指令后,将自身设备描述符切换为正常工作所 需的设备描述符;
所述智能密钥设备向所述计算机报告正常工作所需的设备插入消息,声明自身为与所述 正常工作所需的设备插入消息对应的设备,进入正常的工作模式。 上述,所述含有USB键盘设备的复合设备,具体包括 USB键盘设备和光盘设备;或, USB键盘设备和USB mass storage设备;或, USB键盘设备和智能密钥设备。所述智能密钥设备,具体包括
USB智能密钥设备;或,HID (Human Interface Device,人机交互设备)智能密钥设备; 或,SCSI智能密钥设备;或,CCID(Chip/Smart Card Interface Devices,芯片智能卡接口 设备)智能密钥设备。
其中,所述设备类型切换指令是事先约定的所述复合设备能够接收的指令,其中,当所 述USB键盘设备的复合设备为USB键盘设备和光盘设备时,所述设备类型切换指令是光盘弹 出指令;
当所述USB键盘设备的复合设备为USB键盘设备和智能密钥设备的复合设备时,所述设 备类型切换指令为设置键盘灯状态指令。
其中,所述预先定义的第一键盘消息序列,具体包括 将尝试启动命令行操作模式指令转换得到的键盘消息序列;或, 将启动批处理运行环境指令转换得到的键盘消息序列。
其中,所述预先存储的运行安装程序的脚本指令,具体包括 尝试运行安装程序的命令行指令;或, 尝试运行安装程序的批处理脚本;或, 安装程序编译生成的二进制编码;或, 用于打开浏览器,访问URL的命令行指令。
其中,当所述预先存储的运行安装程序的脚本指令具体为尝试运行安装程序的命令行指 令时,
所述智能密钥设备向所述计算机声明自身为含有USB键盘设备的复合设备之后,还包括 智能密钥设备判断所述安装程序是否通过自动运行程序autorim运行完毕,如果是,则 所述计算机向所述智能密钥设备发送设备类型切换指令,所述智能密钥设备收到所述设备类 型切换指令后,将自身设备描述符切换为正常工作所需的设备描述符;所述智能密钥设备向 所述计算机报告正常工作所需的设备插入消息,声明自身为与所述正常工作所需的设备插入 消息对应的设备,进入正常的工作模式;
否则,执行后续所述智能密钥设备向所述计算机发送预先定义的第一键盘消息序列的步骤。
其中,所述预先定义的第三键盘消息序列,具体为将尝试激活所述安装程序的脚文转换 得到的键盘消息序列;具体包括
将确认键命令转换得到的键盘消息序列;或,
将所述尝试激活所述安装程序的脚本存储在所述计算机中,并运行所述安装程序的命令 转换得到的键盘消息序列。
另一方面,提供了一种实现自动安装的系统,所述系统包括智能密钥设备和计算机; 所述智能密钥设备包括通信模块、声明模块、保存模块和发送模块, 所述通信模块,用于实现所述智能密钥设备与计算机连接的建立;
所述声明模块,用于实现所述智能密钥设备向所述计算机声明自身为含有USB键盘设备 的复合设备;
所述保存模块,用于预先存储运行安装程序的脚本指令;
所述发送模块,用于实现所述智能密钥设备向所述计算机发送预先定义的第一键盘消息 序列,所述第一键盘消息序列用于启动所述计算机的运行环境;还用于当启动所述运行环境 后,所述智能密钥设备将所述保存模块预先存储的运行安装程序的脚本指令转换为第二键盘 消息序列,并将所述第二键盘消息序列发送给所述计算机;还用于实现所述智能密钥设备向
所述计算机发送预先定义的第三键盘消息序列,所述第三键盘消息序列用于运行安装程序。 所述计算机包括通信模块,接收模块,处理模块;
所述计算机的通信模块,用于实现所述计算机和所述智能密钥设备连接的建立; 所述接收模块,用于接收所述智能密钥设备的发送模块发送的第一键盘消息序列、第二
键盘消息序列和第三键盘消息序列;
所述处理模块,用于根据所述接收模块接收到的键盘消息序列,执行相应的处理动作。 其中,所述保存模块具体用于保存尝试运行安装程序的命令行指令;或,保存尝试运行
安装程序的批处理脚本;或,保存安装程序编译生成的二进制编码;或,保存用于打开浏览
器,访问URL的命令行指令。
其中,当所述保存模块保存尝试运行安装程序的命令行指令时,所述智能密钥设备还包

判断模块,用于判断安装程序是否运行安装完毕。
其中,所述判断模块具体用于判断所述安装程序是否为通过自动运行程序autonm运行 完毕,如果在所述发送模块发送第一键盘消息序列之前,在第一预设的时间内收到第一预设 的安装完毕的消息,则表示所述安装程序为通过自动运行程序autorun运行完毕;还用于判 断所述安装程序是否为通过键盘消息序列运行完毕,如果在所述发送模块发送第一键盘消息 序列之后,在第二预设的时间内收到第二预设的安装完毕的消息,则表示所述安装程序是通 过键盘消息序列运行完毕。
进一步地,所述智能密钥设备还包括
切换模块,用于当所述安装程序运行完毕后,当运行应用程序时,收到所述计算机发送 的设备类型切换指令后,将所述智能密钥设备的设备描述符切换为正常工作所需要的设备描 述符;
报告模块,用于向所述计算机报告正常工作所需的设备插入消息,并向所述计算机声明 自身为与所述正常工作所需的设备插入消息对应的设备。 本发明实施例提供的技术方案的有益效果是
通过本发明提供的智能密钥设备和计算机的交互,解决了在Windows的autorun功能被 屏蔽时,智能密钥设备不能实现自动安装的问题,为智能密钥设备实现自动安装提供方便。


图1是本发明实施例1提供的一种智能密钥设备实现自动安装的方法流程示意图2是本发明实施例2提供的一种智能密钥设备实现自动安装的方法流程示意图3是本发明实施例3提供的一种智能密钥设备实现自动安装的方法流程示意图。
图4是本发明实施例4提供的一种智能密钥设备实现自动安装的方法流程示意图; 图5是本发明实施例5提供的一种智能密钥设备实现自动安装的方法流程示意图6是本发明实施例6提供的一种智能密钥设备实现自动安装的系统示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进 一步地详细描述。
在以下实施例中,将键盘上的确定键(即回车键)用"enter"表示,windows徽标键用 "windows"表示,其中,任意两个键同时按下的组合键,如"A"键、"B"键同时触发,用 A+B表示。
本领域技术人员可以获知 一个完整的键盘消息序列是由三个消息码组成的序列,其中, 上述消息码分别为接通码,按键扫描码和释放码;
例如,当组合键(如A+B)被按下时,对应的键盘消息是接通码-接通码-按键A扫描 码-按键B扫描码-释放码-释放码。
在以下实施例中,将脚本转换为键盘消息序列的方法具体是
步骤l:将脚本中的字符映射为相应的扫描码;
步骤2:如果要转换的是单独的按键,则在扫描码前后分别加上接通码和释放码;如果 要转换的是组合键,则在扫描码序列前后分别加上相应数目的接通码和释放码; 步骤3:如果还有要转换的按键,执行步骤2;否则,转换完成。
实施例1
为了解决现有技术中,由于当操作系统的autorun功能被屏蔽时,autorun型智能密钥设 备不能实现自动安装的问题,本发明提供了一种智能密钥设备实现自动安装的方法,参见图 1,该方法内容如下
步骤101:智能密钥设备与计算机建立连接;
步骤102:智能密钥设备向计算机声明自身为含有USB键盘设备的复合设备; 其中,在实际应用时,上述含有USB键盘设备的复合设备具体是 USB键盘设备和光盘设备;或,USB键盘设备和USB海量存储USB mass storage设备;或, USB键盘设备和智能密钥设备。
此处,特别需要注意的是,当上述含有USB键盘设备的复合设备是USB键盘设备和智能 密钥设备时,该智能密钥设备与计算机之间的通信协议可以采用现有的基于USB的通信协议, 如HID、 SCSI、 CCID等,还可以采用自定义的USB通信协议;因此,相应地,该智能密钥设 备可以为HID设备、SCSI设备、CCID设备或自定义的USB设备。
步骤103:智能密钥设备向计算机发送预先定义的第一键盘消息序列,启动运行环境;
其中,该预先定义的第一键盘消息序列具体可以为尝试启动命令行操作模式指令转换 得到的键盘消息序列;或,启动批处理运行环境指令转换得到的键盘消息序列。
步骤104:当启动了运行环境后,智能密钥设备将预先存储的运行安装程序的脚本指令转 换为第二键盘消息序列,并发送给计算机;
其中,上述脚本指令具体可以为尝试运行安装程序的命令行指令;或,尝试运行安装 程序的批处理脚本;或,安装程序编译生成的二进制编码;或,用于打开浏览器,访问URL 的命令行指令。
步骤105:智能密钥设备向计算机发送预先定义的第三键盘消息序列,运行安装程序。 其中,上述第三键盘消息序列具体可以为"enter"命令转换成的键盘消息序列;或,把 上述脚本存储在计算机中并运行安装程序的命令转换得到的键盘消息序列。
进一步地,当上述安装程序运行完毕,运行应用程序时,所述步骤105之后,还包括 步骤106:计算机向智能密钥设备发送类型切换指令;
该设备类型切换指令是事先约定的上述复合设备能够接收的指令。如,对USB键盘设备 和光盘设备的复合设备,优选地,所述类型切换指令是光盘弹出指令;对USB键盘设备和智 能密钥设备的复合设备,优选地,所述类型切换指令是设置键盘灯状态指令,等等。
步骤107:智能密钥设备接收到类型切换指令后,将自身设备描述符切换成正常工作所
需的设备描述符,向计算机报告正常工作所需的设备插入的消息,声明自身为相应的设备, 进入正常的工作模式。
其中,上述正常工作所需的设备包括HID设备、CCID设备或SCSI设备。 特别需要注意的是,当在步骤104中涉及的第二键盘消息序列为将预先存储的尝试运行
安装程序的命令行指令转换得到的第二键盘消息序列时,本发明实施例提供的方法,在步骤
102之后,在步骤103之前还包括
判断安装程序是否通过autorun运行完毕,如果智能密钥设备在预设时间内,接收到预
设的安装完毕的消息,说明所述安装程序可以通过autorun运行完毕,则执行步骤106;否 则,执行步骤103。
综上,通过本发明实施例提供的方法,通过智能密钥设备和计算机的交互,解决了在 Windows的autorun功能被屏蔽时,智能密钥设备不能实现自动安装的问题,为智能密钥设
备实现自动安装提供方便。
为了对本发明实施例提供的方法进行详细说明,请参见如下实施例。
实施例2
参见图2,本发明实施例提供了一种智能密钥设备实现自动安装的方法,本实施例以在 智能密钥设备作为复合设备,具体为USB键盘设备和光盘设备为例,并且以在该智能密钥设 备中存储的脚本为尝试运行安装程序的命令行指令为例进行说明,由于本实施例是以复合设 备,具体为USB键盘设备和光盘设备,则在该智能密钥设备中还保存有ISO格式的光盘镜像, 其中,该光盘镜像内部含有autorun所需的autorun.inf和安装程序。当安装程序运行完毕后, 安装程序将向智能密钥设备USB Key发出预先约定的安装完毕的消息。优选地,本实施例中, 所述消息是弹出光盘的指令。
该方法内容如下
步骤201 、智能密钥设备USB Key连接到计算机上;
步骤202、智能密钥设备USBKey向计算机声明自身为含有USB键盘设备的复合设备; 如前所述,本实施例中以该复合设备为光盘设备和USB键盘设备为例进行的说明。 步骤203、智能密钥设备USBKey等待接收弹出光盘的指令;若在预先约定的时间内接 收到指令,则说明安装程序通过autorun运行完毕,执行步骤211,否则执行步骤204; 为了便于说明,本实施例中,以上述预先约定的时间为30秒为例; 步骤204、智能密钥设备USBKey向计算机发送第一键盘消息序列,启动命令行操作模
式;
其中,该第一键盘消息序列具体为 〃打开计算机操作系统中的"运行"窗口
"windows, ,+r
〃启动命令行操作模式
cmd
enter
步骤205、智能密钥设备USBKey设定当前盘符为C;
步骤206、智能密钥设备USBKey将保存的脚本指令转换成第二键盘消息序列,如果操 作指令中的盘符与当前盘符不一致,则用当前盘符替换操作指令中的盘符,将转换后的第二 键盘消息序列发送到计算机;
其中,智能密钥设备USBKey保存的脚本是尝试运行安装程序的命令行指令,该命令行 指令参考如下-
C:\ GUID\setup.exe /1
其中,GUID是事先约定的目录名,setup.exe是事先约定的安装程序名,l是预先约定的 参数,用于标识尝试运行的安装程序。实际应用中,也可以使用其中的一部分做为标识。优 选地,本实施例中,采用目录名+安装程序名+参数的方式。
步骤207、智能密钥设备USBKey发送"enter"的键盘消息序列给计算机(这里称该键 盘消息序列为第三键盘消息序列),尝试启动安装程序,等待弹出光盘的指令。如果在预先约 定的时间内接收到指令,则执行步骤211;否则,执行步骤208;
为了便于说明,本实施例中,以上述预先约定的时间为30秒为例;
步骤208、智能密钥设备USBKey判断当前盘符是否为Z,如果是,则执行步骤210; 否则,执行步骤209;
步骤209、智能密钥设备USBKey使当前盘符递增,执行步骤206;
步骤210、智能密钥设备USBKey的安装程序不能运行完毕,结束操作;
步骤2U、安装程序安装完成后,智能密钥设备USBKey接收到弹出光盘的指令后,将 自身的设备描述符切换为正常工作所需的设备描述符(如HID设备描述符),再向计算机报 告设备插入的消息,声明自身为相应的设备,进入正常工作模式。
综上,通过本发明实施例提供的方法,通过智能密钥设备和计算机的交互,解决了在 Windows的autorun功能被屏蔽时,智能密钥设备不能实现自动安装的问题,为智能密钥设备 实现自动安装提供方便。
实施例3
参见图3,本发明实施例提供了一种智能密钥设备实现自动安装的方法,本实施例以在 智能密钥设备作为复合设备,具体为USB键盘设备和USB mass storage设备为例,并且以 在该智能密钥设备中存储的脚本为尝试运行安装程序的批处理脚本为例进行说明,该方法内 容如下
步骤301、智能密钥设备USB Key连接到计算机上;
步骤302、智能密钥设备USB Key向计算机声明自身为含有USB键盘设备的复合设备;
本实施例中,该复合设备为USB键盘设备和USB mass storage设备。
步骤303、智能密钥设备USB Key向计算机发送第一键盘消息序列,启动批处理运行环
境;
其中,该第一键盘消息序列具体为 〃打开运行窗口
"windows" +r 〃启动命令行操作模式 cmd
"6nt6r,,
〃到当前驱动器的根目录下,避免可能的权限控制
〃也可以是cdcA
〃不过这样可以避免没有C盘造成的问题
CdW
"enter"
echo
步骤304、智能密钥设备USBKey将存储的脚本(包括其中的换行符)转换成第二键盘 消息序列,发送到计算机。
其中,在智能密钥设备USBKey中存在遍历驱动器,尝试运行安装程序的批处理脚本以 及安装程序,其中,上述存储的尝试运行安装程序的批处理脚本具体内容参考如下
@echo off
setlocal enabledelayedexpansion
wmic logicaldisk get name,DriveType | more +1》temp.txt
for /f "tokens=l,2" %%a in (temp.txt) do if exist %%b\ GUID\setup.exe start %0/ob\GUID\setup.exe /1 del temp.txt
其中,GUID是事先约定的目录名,setup.exe是事先约定的安装程序名,l是预先约定的 参数,用于标识尝试运行的安装程序。在实际应用中,也可以使用其中的一部分做为标识。 优选地,本实施例中,采用目录名+安装程序名+参数。特别需要注意的是,在将脚本存入
USB Key时,其中的换行符也一并存入。
步骤305、智能密钥设备USBKey将下列命令转换成第三键盘消息序列,并发送到计算 机,安装程序在计算机开始运行。
其中,该第三键盘消息序列具体是
〃将脚本保存在当前目录
> setup.bat
"enter"
〃运行安装脚本
setup.bat
"enter"
步骤306、智能密钥设备USBKey等待预先约定的安装程序安装完毕的消息;如果接收 到,则执行步骤307,否则,继续等待。
步骤307、安装程序安装完成后,智能密钥设备USB Key接收到SCSI移除指令,将自 身的设备描述符进行切换,切换为正常工作模式的设备描述符(如HID设备描述符),再向 计算机报告正常工作所需的设备插入的消息,声明自身为正常工作模式的设备(如HID设备), 进入正常工作模式。
综上,通过本发明实施例提供的方法,通过智能密钥设备和计算机的交互,解决了在 Windows的autorun功能被屏蔽时,智能密钥设备不能实现自动安装的问题,为智能密钥设备 实现自动安装提供方便。
实施例4
参见图4,本发明实施例提供了一种智能密钥设备实现自动安装的方法,本实施例以在 智能密钥设备作为复合设备,具体为USB键盘设备和一种HID智能密钥设备为例,并且以在 该智能密钥设备中存储的脚本为安装程序编译生成的二进制代码编码为例进行说明,该方法 内容如下
步骤401、智能密钥设备USB Key连接到计算机上;
步骤402、智能密钥设备USB Key向计算机声明自身为含有USB键盘设备的复合设备; 其中,本实施例中,该复合设备为USB键盘设备和HID智能密钥设备。本领域技术人员 可以获知,由于该智能密钥设备与计算机之间的通信协议可以采用现有的基于USB的通信协 议,如HID、 SCSI、 CCID等,也可以使用自定义的USB通信协议。相应地,智能密钥设备可
以被报告为HID设备、SCSI设备、CCID设备或USB设备。优选地,在本实施例中,智能密钥 设备被报告为HID设备,即该复合设备具体为USB键盘设备和HID智能密钥设备。
步骤403、智能密钥设备USB Key向计算机发送第一键盘消息序列,启动命令行操作模
式;
本实施例中,将键盘上的回车键用"enter"表示,该第一键盘消息序列具体为 〃打开"运行"窗口 "windows" +r 〃启动命令行操作模式 cmd
"6nt6r,,
步骤404、智能密钥设备USB Key将存储的脚本(包括其中的换行符)转换成第二键盘 消息序列,发送到计算机;
其中,在USB Key中保存的脚文为安装程序编译生成的二进制代码编码。本实施例中, 安装程序为setup.exe,可以用以下VBscript脚本得到安装程序setup.exe的二进制代码编码, 内容参考如下-
fp=wscript.arguments(0)
fn:right饰,len(fp)-instrrev(fp,"V'))
with createobject("adodb.stream")
.type=l:.open:.loadfromfile fp:str=.read:sl=lenb(str)
end with
sll=sl mod 65536:slh=sl\65536
with createobject("scripting.filesystemobject").opentextfile(f^&".bat",2,true)
.write "@echo str="',"
for i=l to si
bt=ascb(midb(str,i, 1))
ifbt<16then .write "0"
.write hex(bt)
if i mod 128=0 then .write "'",—>>debug.vbs"+vbcrlf+"@echo +"",, next
.writeline ',""》debug.vbs"+vbcrlf+"@echo with wscript.stdout:r=vbcrlf ,—
+":for i=l to len(str) step 48:.write ""e""+hex(256+(i-l)/2)"—
十":for j=i to i+46 step 2:.write "" ""+mid(strj,2):next:.write r:next》debug.vbs"
.writeline "@echo .write ""rbx""+r+'""'+hex(slh)+"""+r+""rcx""+r+"""+hex(sll)_
+"""+r+""n debug.tmp""+r+""w""+r+""q""+r:end with"—
+" debug.vbs&&cscript 〃nologo debug.vbs|debug.exe>nul&&ren debug.tmp
"""&fn&'"'"&del debug.vbs"
end with
将上述代码保存为.vbs结尾的脚本文件(如transfer.vbs) 相应地,采用命令行方式运行此脚本 cscript transfer.vbs setup.exe
运行结束后便可在名为seup.exe.bat的新建文件中得到二进制代码编码。将二进制代码编 码存入智能密钥设备USB Key时,其中的换行符也一并存入。
本领域技术人员可以获知,除了利用VB脚本之外,也可以直接启动debug.exe,输入安 装文件的机器码,利用参数A得到二进制代码编码。
步骤405、智能密钥设备USB Key发送"enter"的键盘消息序列给计算机(这里称该键 盘消息序列为第三键盘消息序列),安装程序在计算机开始运行;
步骤406、智能密钥设备USB Key等待安装完毕的消息;如果接收到,则执行步骤407, 否则,继续等待。
步骤407、安装完成,直接进入正常的工作模式。
综上,通过本发明实施例提供的方法,通过智能密钥设备和计算机的交互,解决了在 Windows的autorun功能被屏蔽时,智能密钥设备不能实现自动安装的问题,为智能密钥设备 实现自动安装提供方便。
实施例5
参见图5,本发明实施例提供了一种智能密钥设备实现自动安装的方法,本实施例以在 智能密钥设备作为复合设备,具体为USB键盘设备和一种USB智能密钥设备为例,并且以在 该智能密钥设备中存储的脚本为打开浏览器,访问URL的命令行指令为例进行说明,该方法 内容如下
步骤50K智能密钥设备USB Key连接到计算机上;
步骤502、智能密钥设备USB Key向计算机报告为含有USB键盘设备的复合设备;
本实施例中,该复合设备为USB键盘设备和l]SB智能密钥设备。其中,智能密钥设备与 计算机之间的通信协议可以采用现有的基于USB的通信协议,如HID、 SCSI、 CCID等,也可 以使用自定义的USB通信协议。相应地,智能密钥设备可以被报告为HID设备、SCSI设备、 CCID设备或USB设备。优选地,在本实施例中,智能密钥设备被报告为USB设备为例。
步骤503、智能密钥设备USB Key向计算机发送第一键盘消息序列,启动命令行操作模
式;
其中,上述第一键盘消息序列具体为-〃打开"运行"窗口 "windows" +r 〃启动命令行操作模式 cmd
步骤504、智能密钥设备USB Key将存储的脚本指令转换成第二键盘消息序列,发送到 计算机;
其中,在智能密钥设备USB Key中保存的脚本是打开浏览器,访问URL的命令行指 令。该指令具体参考如下
explorer http:〃www.example.com
其中,http:/Avww.example.com是内嵌了有自动下载并运行安装稃序的掉件的网页地址。 网页中调用控件的具体内容是
〈object CLASSID='clsid:4DE03 A9C-D725-4514-84BA-6A7388E8FC42' CODEBASE='files/install.cab#Version=l ,00,0000' BORDER=0 VSPACE=0 HSPACE=0 ALIGN=TOP HEIGHT=0% WIDTH=0%></object>
其中的install.cab就是安装程序。
步骤505、智能密钥设备USB Key发送"enter"的按键消息序列给计算机(这里称该键 盘消息序列为第三键盘消息序列),计算机启动浏览器访问http:〃www. example, com,下载安 装程序并在计算机运行;
步骤506、智能密钥设备USB Key等待安装完毕的消息;如果接收到,则执行步骤507, 否则,继续等待。
步骤507、安装完成,直接进入正常的工作模式。
综上,通过本发明实施例提供的方法,通过智能密钥设备和计算机的交互,解决了在 Windows的autoran功能被屏蔽时,智能密钥设备不能实现自动安装的问题,为智能密钥设备 实现自动安装提供方便。
实施例6
参见图6,本发明实施例提供了一种智能密钥设备实现自动安装的系统,该系统包括
智能密钥设备601和计算机602;
智能密钥设备601包括:通信模块6011、声明模块6012、保存模块6013和发送模块6014,
通信模块6011,用于实现智能密钥设备601与计算机602连接的建立;
声明模块6012,用于实现智能密钥设备601向计算机602声明自身为含有USB键盘设备
的复合设备;
保存模块6013,用于预先存储运行安装程序的脚本指令;
发送模块6014,用于实现智能密钥设备601向计算机602发送预先定义的第一键盘消息 序列,第一键盘消息序列用于启动计算机602的运行环境;还用于当启动运行环境后,智能 密钥设备601将保存模块6013预先存储的运行安装程序的脚本指令转换为第二键盘消息序 列,并将第二键盘消息序列发送给计算机602;还用于实现智能密钥设备601向计算机602 发送预先定义的第三键盘消息序列,第三键盘消息序列用于运行安装程序。
计算机602包括通信模块6021,接收模块6022,处理模块6023;
通信模块6021,用于实现计算机602和智能密钥设备601连接的建立;
接收模块6022,用于接收智能密钥设备601的发送模块6014发送的第一键盘消息序列、 第二键盘消息序列和第三键盘消息序列;
处理模块6023,用于根据接收模块6022接收到的键盘消息序列,执行相应的处理动作。
其中,保存模块6013具体用于保存尝试运行安装程序的命令行指令;或,保存尝试运行 安装程序的批处理脚本;或,保存安装程序编译生成的二进制编码;或,保存用于打开浏览 器,访问URL的命令行指令。
当保存模块6013具体用于保存尝试运行安装程序的命令行指令时,智能密钥设备601还
包括
判断模块,用于判断安装程序是否运行安装完毕。
其中,判断模块具体用于判断安装程序是否为通过自动运行程序autorun运行完毕,如果 在发送模块6014发送第一键盘消息序列之前,在第一预设的时间内收到第一预设的安装完毕 的消息,则表示安装程序为通过自动运行程序autorun运行完毕;还用于判断安装程序是否为
通过键盘消息序列运行完毕,如果在发送模块6014发送第一键盘消息序列之后,在第二预设 的时间内收到第二预设的安装完毕的消息,则表示安装程序通过键盘消息序列运行完毕。 进一步地,智能密钥设备601还包括
切换模块,用于当安装程序运行完毕后,当运行应用程序时,收到计算机602发送的设 备类型切换指令后,将智能密钥设备601的设备描述符切换为正常工作所需要的设备描述符;
其中,具体实现时,上述设备类型切换指令是事先约定的上述复合设备能够接收的指令。
如,对USB键盘设备和光盘设备的复合设备,优选地,所述类型切换指令是光盘弹出指令; 对USB键盘设备和智能密钥设备的复合设备,优选地,所述类型切换指令是设置键盘灯状态
指令,等等。
报告模块,用于向计算机602报告正常工作所需的设备插入消息,并向计算机602声明 自身为与正常工作所需的设备插入消息对应的设备。
综上,通过本发明实施例提供的系统,通过智能密钥设备和计算机的交互,解决了在 Windows的autorun功能被屏蔽时,智能密钥设备不能实现自动安装的问题,为智能密钥设备 实现自动安装提供方便。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之 内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种智能密钥设备实现自动安装的方法,其特征在于,所述方法包括智能密钥设备与计算机建立连接;所述智能密钥设备向所述计算机声明自身为含有USB键盘设备的复合设备;所述智能密钥设备向所述计算机发送预先定义的第一键盘消息序列,所述第一键盘消息序列用于启动所述计算机的运行环境;当启动所述运行环境后,所述智能密钥设备将预先存储的运行安装程序的脚本指令转换为第二键盘消息序列,并将所述第二键盘消息序列发送给所述计算机;所述智能密钥设备向所述计算机发送预先定义的第三键盘消息序列,所述第三键盘消息序列用于运行安装程序。
2、 如权利要求l所述的方法,其特征在于,当安装程序运行完毕,执行应用程序时,所 述方法还包括所述计算机向所述智能密钥设备发送设备类型切换指令;所述智能密钥设备收到所述设备类型切换指令后,将自身设备描述符切换为正常工作所 需的设备描述符;所述智能密钥设备向所述计算机报告正常工作所需的设备插入消息,声明自身为与所述 正常工作所需的设备插入消息对应的设备,进入正常的工作模式。
3、 如权利要求l所述的方法,其特征在于,所述含有USB键盘设备的复合设备,具体包括USB键盘设备和光盘设备;或,USB键盘设备和USB mass storage设备;或, USB键盘设备和智能密钥设备。
4、 如权利要求3所述的方法,其特征在于,所述智能密钥设备,具体包括 USB智能密钥设备;或,HID智能密钥设备;或,SCSI智能密钥设备;或,CCID智能密钥设备。
5、 如权利要求2所述的方法,其特征在于,所述设备类型切换指令是事先约定的所述复合设备能够接收的指令。
6、 如权利要求5所述的方法,其特征在于,当所述USB键盘设备的复合设备为USB键盘设备和光盘设备时,所述设备类型切换指令 是光盘弹出指令;当所述USB键盘设备的复合设备为USB键盘设备和智能密钥设备的复合设备时,所述设 备类型切换指令为设置键盘灯状态指令。
7、 如权利要求l所述的方法,其特征在于,所述预先定义的第一键盘消息序列,具体包括将尝试启动命令行操作模式指令转换得到的键盘消息序列;或, 将启动批处理运行环境指令转换得到的键盘消息序列。
8、 如权利要求1所述的方法,其特征在于,所述预先存储的运行安装程序的脚本指令, 具体包括尝试运行安装程序的命令行指令;或, 尝试运行安装程序的批处理脚本;或, 安装程序编译生成的二进制编码;或, 用于打开浏览器,访问URL的命令行指令。
9、 如权利要求7所述的方法,其特征在于,当所述预先存储的运行安装程序的脚本指令 具体为尝试运行安装程序的命令行指令时,所述智能密钥设备向所述计算机声明自身为含有USB键盘设备的复合设备的步骤之后, 还包括智能密钥设备判断所述安装程序是否通过自动运行程序autonm运行完毕,如果是,则 所述计算机向所述智能密钥设备发送设备类型切换指令,所述智能密钥设备收到所述设备类 型切换指令后,将自身设备描述符切换为正常工作所需的设备描述符;所述智能密钥设备向 所述计算机报告正常工作所需的设备插入消息,声明自身为与所述正常工作所需的设备插入 消息对应的设备,进入正常的工作模式;否则,执行后续所述智能密钥设备向所述计算机发送预先定义的第一键盘消息序列的步骤。
10、 如权利要求1所述的方法,其特征在于,所述预先定义的第三键盘消息序列,具体为将尝试激活所述安装程序的脚本转换得到的键盘消息序列;具体包括-将确认键命令转换得到的键盘消息序列;或,将所述尝试激活所述安装程序的脚本存储在所述计算机中,并运行所述安装程序的命令 转换得到的键盘消息序列。
11、 一种智能密钥设备实现自动安装的系统,其特征在于,所述系统包括智能密钥设备 和计算机;所述智能密钥设备包括通信模块、声明模块、保存模块和发送模块, 所述通信模块,用于实现所述智能密钥设备与计算机连接的建立;所述声明模块,用于实现所述智能密钥设备向所述计算机声明自身为含有USB键盘设备 的复合设备;所述保存模块,用于预先存储运行安装程序的脚本指令;所述发送模块,用于实现所述智能密钥设备向所述计算机发送预先定义的第一键盘消息 序列,所述第一键盘消息序列用于启动所述计算机的运行环境;还用于当启动所述运行环境 后,所述智能密钥设备将所述保存模块预先存储的运行安装程序的脚本指令转换为第二键盘 消息序列,并将所述第二键盘消息序列发送给所述计算机;还用于实现所述智能密钥设备向 所述计算机发送预先定义的第三键盘消息序列,所述第三键盘消息序列用于运行安装程序。所述计算机包括通信模块,接收模块,处理模块;所述计算机的通信模块,用于实现所述计算机和所述智能密钥设备连接的建立; 所述接收模块,用于接收所述智能密钥设备的发送模块发送的第一键盘消息序列、第二 键盘消息序列和第三键盘消息序列;所述处理模块,用于根据所述接收模块接收到的键盘消息序列,执行相应的处理动作。
12、 如权利要求11所述的系统,其特征在于,所述保存模块具体用于保存尝试运行安装程序的命令行指令;或,保存尝试运行安装程 序的批处理脚本;或,保存安装程序编译生成的二进制编码;或,保存用于打开浏览器,访 问URL的命令行指令。
13、 如权利要求12所述的系统,其特征在于,当所述保存模块保存尝试运行安装程序的 命令行指令时,所述智能密钥设备还包括判断模块,用于判断安装程序是否运行安装完毕。
14、 如权利要求13所述的系统,其特征在于,所述判断模块具体用于判断所述安装程序是否为通过自动运行程序autorun运行完毕, 如果在所述发送模块发送第一键盘消息序列之前,在第一预设的时间内收到第一预设的安装 完毕的消息,则表示所述安装程序为通过自动运行程序autorun运行完毕;还用于判断所述 安装程序是否为通过键盘消息序列运行完毕,如果在所述发送模块发送第一键盘消息序列之 后,在第二预设的时间内收到第二预设的安装完毕的消息,则表示所述安装程序是通过键盘 消息序列运行完毕。
15、如权利要求ll所述的系统,其特征在于,所述智能密钥设备还包括切换模块,用于当所述安装程序运行完毕后,当运行应用程序时,收到所述计算机发送的设备类型切换指令后,将所述智能密钥设备的设备描述符切换为正常工作所需要的设备描述符;报告模块,用于向所述计算机报告正常工作所需的设备插入消息,并向所述计算机声明 自身为与所述正常工作所需的设备插入消息对应的设备。
全文摘要
本发明公开了一种智能密钥设备实现自动安装的方法和系统,属于智能卡领域。方法包括智能密钥设备与计算机建立连接;智能密钥设备向计算机声明自身为含有USB键盘设备的复合设备;向计算机发送预先定义的第一键盘消息序列,第一键盘消息序列用于启动计算机的运行环境;当启动运行环境后,将预先存储的运行安装程序的脚本指令转换为第二键盘消息序列,并将第二键盘消息序列发送给计算机;向计算机发送预先定义的第三键盘消息序列,第三键盘消息序列用于运行安装程序。系统包括智能密钥设备和计算机。本发明通过智能密钥设备和计算机交互,解决了在Windows的autorun功能被屏蔽时,智能密钥设备不能实现自动安装的问题,为智能密钥设备实现自动安装提供方便。
文档编号G06F21/00GK101382904SQ200810223248
公开日2009年3月11日 申请日期2008年9月28日 优先权日2008年9月28日
发明者于华章, 舟 陆 申请人:北京飞天诚信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1