• 【飘雪驱动器管理大师(USB禁用、USB加锁)】原理分析


        因为公司要封USB口存储设备,同事随便找了这款免费软件测试了一下,下载的是1.0版,测试以后告诉我说很奇怪,非要使用过一次的U盘才能被软件禁用,新来的U盘可以照常使用。于是我对照微软官方提供禁用USB存储设备的方法(http://support.microsoft.com/kb/823732/zh-cn#top),简单拆解了一下该软件,结论如下。
        该程序采用易语言编写,所有后缀名为fnr、fne的文件都是易语言运行时库文件(暂时发现不需要eAPI.fne、eCalc.fne、spec.fne等3个文件)。程序运行后隐藏Pxqdqgl.exe进程,这是通过调用IO.dll的HideProcess接口来实现。程序首次运行时会在system32目录下创建cysys.ocx和ie32.inf等2个文件,其中ie32.inf文件实际上是用来加密存储软件的密码,如果程序运行时删除了该文件则只有重启动系统才能恢复该文件;卸载时ie32.inf文件会自动删除。
        程序实现了在单机上对USB存储设备的禁用控制,用FileMon&RegMon监视分析发现,其基本原理是修改注册表相关键值,详见KB823732《如何禁用 USB 存储设备》。当程序运行时,执行以下操作:
            1.修改HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit,在userinit.exe后增加Pxqdqgl.exe(开机运行);
            2.修改HKLM\SYSTEM\CurrentControlSet\Services\USBSTOR\Start,如果是禁用USB就设为4,如果是启用就设为3;
        程序反复执行1、2步骤(大概半秒钟一次),控制方式够简易的
        当卸载程序时,首先恢复注册表键值,然后退出程序。
        这种修改注册表的方法只能禁用曾经在该计算机上使用过(已安装过)的设备,新的(未安装过的)USB存储设备至少可以使用一次,这就是该程序的缺陷。既然都做到这一步了,干嘛不绑个xcacls.exe,调命令行把驱动文件的权限也一并设了呢,或者干脆把驱动文件重命名,并每半秒检查一次该位置是否存在同名文件。。。说的太多,打住。
  • 相关阅读:
    易语言破解与安装
    用 AS3.0 的 fscommand 命令调用 .exe 文件。
    swf批量导出
    pureMVC java版搭建流程
    PureMVC 框架总结收录
    一些算法
    练习3.34
    关于数组的注意事项
    练习3.30、3.33
    练习3.27、3.28、3.29
  • 原文地址:https://www.cnblogs.com/cancelpj/p/1156093.html
Copyright © 2020-2023  润新知