欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

U盘防拷贝组件工程

U盘防拷贝组件工程

[*]引言
最近遇到一道题, 需求: 根据策略配置, 防止向U盘中拷贝文件,要求在R3完成.
非常感谢wu对关键技术点的指点!
[*]工程下载
请见帖子底部附件
srcUDiskCpyManager_V2013_1012_1653.rar
[*]感受
这2个星期都在做这个工程, 细节还是蛮多的, 一个一个的小问题,一个一个的搞定.
我想,5天要搞定这个组件. 如果不是从已经实现的Demo中,迁出相应的功能, 绝对做不完.
[*]防止向U盘拷贝的内容
  文件
  文件夹
  文件夹中任意目录中存在的特定文件后缀的文件
[*]测试
今天经过自己在实体机测试, 得到以下测试结论
在Win7X64下达到了需求的要求.
在WinXpX86Sp3下达到了需求的要求.
Win7X86没有实体机, Vmware中的Windows不认识我的USB3.0U盘, 暂时中断该平台的测试.
用ApiMonitor可以看到, Win7X64和win7X86的文件操作,调用的COM API都是相同的.
[*]软件实现思路
  * WinXp下, Hook Win32API, 实现禁止通过资源管理器向U盘拷贝文件
  * Win7(x86/x64)下, Hook COM API, 实现禁止通过资源管理器向U盘拷贝文件
[*]软件组件构成
* CtrlProg.exe : 控制程序, 负责策略的定制, Hook DLL 的控制(安装, 卸载)
* LsApiHook.dll:  Hook Win32API, 实现在WinXp下U盘 DLP
                                Hook函数列表:     CopyFileExW
                                                                CreateFileW
* LsComHookProxy.dll, Hook COM API, 实现在Win7(x86/x64)下U盘DLP
                                Hook函数列表: CoCreateInstance,
                                                IFileOperation::CopyItems
                                                IFileOperation::MoveItems
                                                IFileOperation::NewItem
                                                IFileOperation::RenameItem
[*]技术点
* COM接口方法地址的取得
* 在C++程序中调用C方式的COM接口方法
[*]策略定制
* 禁止/允许向U盘中拷贝文件夹
* 禁止/允许向U盘中拷贝特定文件后缀的文件
在产品中,随着实际需求的细化, 细化策略,细化文件控制.
[*]备注
  * 在产品中用, 控制程序要由驱动保护, 防止被关掉.
  * 策略的下达, 一般不是由控制程序下发.
  * 产品中, 特定后缀类型的文件的判断,要由PE文件实际内容判定,而不是文件后缀名
[*]软件截图






上传的附件 srcUDiskCpyManager_V2013_1012_1653.rar
DLP控制关闭.png
DLP控制开启.png
策略定制界面.png
控制程序菜单-策略定制.png
控制程序主界面.png
工程输出目录.png
工程根目录.png

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功