找回密码  加入

AUTOIT CN

搜索
查看: 333|回复: 12

请问如何让电脑只能插入报税密钥,但是不能使用U盘?

[复制链接]
发表于 2023-1-27 10:20:41 | 显示全部楼层 |阅读模式
请问如何让电脑只能插入报税密钥,但是不能使用U盘?
发表于 2023-1-28 23:11:10 | 显示全部楼层
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_Version=beta
#AutoIt3Wrapper_Icon=DWRCD_3049.ico
#AutoIt3Wrapper_OutFile=USB接口管理.exe
#AutoIt3Wrapper_Res_Comment=USB接口管理
#AutoIt3Wrapper_Res_Description=USB接口管理
#AutoIt3Wrapper_Res_Fileversion=2011.7.2.21
#AutoIt3Wrapper_Res_FileVersion_AutoIncrement=y
#AutoIt3Wrapper_Res_LegalCopyright=JNS TECH
#AutoIt3Wrapper_Run_Tidy=y
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
;#NoTrayIcon
#include <Date.au3>
;防止多次打开文件
$g_szVersion = "Usb_Sys"
If WinExists($g_szVersion) Then Exit
AutoItWinSetTitle($g_szVersion)
#include <Misc.au3>
_Singleton("Usb_Sys")
;---------------------------
RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR", "Start", "REG_DWORD", "00000004");启用禁止加载USB驱动
RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies", "WriteProtect", "REG_DWORD", "00000001");启用禁止写入移动磁盘
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", "NoDrives", "REG_DWORD", "00000001");启用隐藏U盘图标
$baohuo = 1;保护为1
If RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Usb", "time") = "" Then
        RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Usb", "time", "REG_DWORD", "20")
EndIf
;----------------------------
If RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Usb", "Pass") = "" Then
        RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Usb", "Pass", "REG_SZ", "12345")
Else
EndIf
;---------------------------
Opt("TrayMenuMode", 1) ; 默认菜单项目 (脚本暂停中/退出)(Script Paused/Exit) 将不会显示.
TraySetState()
TraySetToolTip("USB接口系统管理")
$usb = TrayCreateItem("解除保护")
TrayCreateItem("")
$settingsitem = TrayCreateMenu("高级设置")
$pass = TrayCreateItem("修改密码", $settingsitem)
TrayCreateItem("", $settingsitem)
$inupttime = TrayCreateItem("修改延时", $settingsitem)
TrayCreateItem("", $settingsitem)
$quititem = TrayCreateItem("卸载还原", $settingsitem)
TrayCreateItem("")
$aboutitem = TrayCreateItem("程序信息")
TrayCreateItem("")
$exititem = TrayCreateItem("关闭程序")
TraySetState(1)
TraySetClick(9)
;------------------------------
While 1
        ;----------------------------
        $msg = TrayGetMsg()
        Select
                Case $msg = $usb
                        $input1 = InputBox("密码验证", "请输入解除保护的密码!", "", "*", 230, 100, @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 10)
                        If @error = 1 Then
                        ElseIf $input1 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Usb", "Pass") Then
                                RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR", "Start", "REG_DWORD", "00000003");解除禁止加载USB驱动
                                RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies", "WriteProtect", "REG_DWORD", "00000000");解除写入移动磁盘
                                RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", "NoDrives", "REG_DWORD", "00000000");解除隐藏U盘图标
                                $baohuo = 0
                                TraySetState(4)
                        Else
                                MsgBox(16, "密码验证", "密码输入错误!", 1)
                        EndIf

                Case $msg = $aboutitem
                        TrayTip("", "系统USB接口管理1.4 版本:2011.07.22", 5, 2)
                        Sleep(2000)
                        TrayTip("", "", 0)
                Case $msg = $exititem
                        RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR", "Start", "REG_DWORD", "00000004");启用禁止加载USB驱动
                        RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies", "WriteProtect", "REG_DWORD", "00000001");启用禁止写入移动磁盘
                        RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", "NoDrives", "REG_DWORD", "00000001");启用隐藏U盘图标
                        Exit
                Case $msg = $quititem
                        $input1 = InputBox("卸载验证", "请输入解除保护的密码!", "", "*", 230, 100, @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 10)
                        If @error = 1 Then
                        ElseIf $input1 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Usb", "Pass") Then
                                RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR", "Start", "REG_DWORD", "00000003");解除禁止加载USB驱动
                                RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies", "WriteProtect", "REG_DWORD", "00000000");解除写入移动磁盘
                                RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", "NoDrives", "REG_DWORD", "00000000");解除隐藏U盘图标
                                RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Usb", "Pass")
                                MsgBox(48, "卸载验证", "卸载成功!", 1)
                                Exit
                        Else
                                MsgBox(16, "卸载验证", "密码输入错误!", 1)
                        EndIf
                Case $msg = $pass
                        $value1 = InputBox("修改密码", "请输入修改前的密码!", "", "*", 230, 100, @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 10)
                        If @error = 1 Then
                        ElseIf $value1 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Usb", "Pass") Then
                                $value2 = InputBox("修改密码", "请输入新的密码!", "", "", 230, 100, @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 10)
                                $value3 = InputBox("修改密码", "请再次输入新的密码!", "", "", 230, 100, @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 10)
                               
                                If $value2 = $value3 Then
                                        RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Usb", "Pass", "REG_SZ", $value2)
                                        MsgBox(48, "修改密码", "密码核对修改成功!", 1)
                                Else
                                        MsgBox(16, "修改密码", "密码两次输入不一致!", 1)
                                EndIf

                        Else
                                MsgBox(16, "修改密码", "密码输入错误!", 1)
                        EndIf
                       
                       
                Case $msg = $inupttime
                        $input2 = InputBox("修改延时", "请输入修改延时(20~60秒)!", "", "", 230, 100, @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 10)
                        If @error = 1 Then
                        ElseIf $input2 < 61 And $input2 > 19 Then
                                RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Usb", "time", "REG_DWORD", $input2)
                        Else
                                MsgBox(16, "修改错误", "请输入修改延时(20~60秒)!", 1)
                        EndIf
                       
                Case $msg = 0
                        Select
                                Case $baohuo = 0
                                        $i = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Usb", "time")
                                        While 1
                                                TrayTip("", "USB接口可以正常使用" & $i & "秒钟后将自动再一次加锁!", 0)
                                                If $i = 0 Then
                                                        $baohuo = 1
                                                        TrayTip("", "USB接口已被锁定不能正常使用!", 0)
                                                        Sleep(1000)
                                                        TrayTip("", "", 0)
                                                        ExitLoop
                                                EndIf
                                                $i = $i - 1
                                                Sleep(1000)
                                        WEnd

                                Case Else
                                        RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR", "Start", "REG_DWORD", "00000004");启用禁止加载USB驱动
                                        RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies", "WriteProtect", "REG_DWORD", "00000001");启用禁止写入移动磁盘
                                        RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", "NoDrives", "REG_DWORD", "00000001");启用隐藏U盘图标
                                        TraySetState(8)
                                        Sleep(500)
                        EndSelect
        EndSelect
WEnd


回复 支持 1 反对 0

使用道具 举报

发表于 2023-1-27 10:35:22 | 显示全部楼层
写个服务程序进行监控,监控过程:检测USB设备,判断是U盘还是加密狗。
 楼主| 发表于 2023-1-27 11:19:24 | 显示全部楼层
haijie1223 发表于 2023-1-27 10:35
写个服务程序进行监控,监控过程:检测USB设备,判断是U盘还是加密狗。

我觉得我要写一个安全管理程序了,您要是恰巧有这个例子请发我一下,没有我先自己找找哈。十分感谢
发表于 2023-1-27 13:30:15 | 显示全部楼层
ac5474012 发表于 2023-1-27 11:19
我觉得我要写一个安全管理程序了,您要是恰巧有这个例子请发我一下,没有我先自己找找哈。十分感谢

已经有很多商业的软件支持这种了。。

自己写的话,可能耗时耗力,比较麻烦。。

例如这个:

发表于 2023-1-28 23:13:19 | 显示全部楼层
最多年前写的禁掉USB驱动,输入密码正确后在60秒内插入方可使用,不输密码不能使用,windows7测试过。360强行修复也可恢复。
发表于 2023-1-28 23:17:43 | 显示全部楼层
在附件中有源码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

x

评分

参与人数 2金钱 +60 收起 理由
fybhwsx + 40 感谢,源码学习。。
msold5 + 20 赞一个!

查看全部评分

发表于 2023-1-28 23:18:58 | 显示全部楼层

默认密码12345
 楼主| 发表于 2023-1-31 09:52:10 | 显示全部楼层
qq413774005 发表于 2023-1-28 23:11
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_Version=beta
#AutoIt3Wrapper_Icon=DWR ...

哇吼,你这是啥?
 楼主| 发表于 2023-1-31 09:52:57 | 显示全部楼层
haijie1223 发表于 2023-1-27 10:35
写个服务程序进行监控,监控过程:检测USB设备,判断是U盘还是加密狗。

ok 多谢。我研究研究
 楼主| 发表于 2023-1-31 09:53:25 | 显示全部楼层
yuantian 发表于 2023-1-27 13:30
已经有很多商业的软件支持这种了。。

自己写的话,可能耗时耗力,比较麻烦。。

谢谢,不过我还是想自己写一个
 楼主| 发表于 2023-1-31 09:53:52 | 显示全部楼层
yuantian 发表于 2023-1-27 13:30
已经有很多商业的软件支持这种了。。

自己写的话,可能耗时耗力,比较麻烦。。

我写的内容都会公源码,大家都能看的~
 楼主| 发表于 2023-1-31 09:55:32 | 显示全部楼层
qq413774005 发表于 2023-1-28 23:13
最多年前写的禁掉USB驱动,输入密码正确后在60秒内插入方可使用,不输密码不能使用,windows7测试过。360强 ...

60秒内可用,这个设计比较新颖,我需要禁U盘不禁加密狗。不过禁U盘功能部分也是很需要,多谢了~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|小黑屋|手机版|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2023-3-22 17:22 , Processed in 2.824218 second(s), 31 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表