摘 要 本文结合实例讲述了Delphi 编程实现在计算机中通过密码和授权使用U盘的两种方法,以及利用远程线程插入技术创建守护线程,防止进程被强制结束的方法,并给出了完整实用的源代码。
关键词 U盘,授权,线程插入,进程结束
1 前言
由于U盘的便携性,办公计算机常被别人非法使用U盘而苦恼。使其计算机中的重要文件无法得到安全保障,同时也给病毒和恶意木马程序提供了传播的途径,严重影响系统的正常工作。
在本刊2008年第5期“USB存储设备监控程序的开发”一文中,原文作者详细分析了USB存储设备监控原理和方法,但没有实现USB存储设备如何授权使用的方法,而且笔者认为:监控程序必须应具备自我保护的能力,防止监控程序进程被强制结束而失去监控的能力。
根据这个想法,本文给出了一个完整实用的U盘锁例程。
2 处理方案
(1) 如何得知系统插入了U盘,即一个U盘插入到计算机USB接口时,将触发系统硬件改变发出的系统消息WM_DEVICECHANGE。这样在程序中拦截该系统消息就可以监控U盘的插入。
(2) 如何放行要使用的U盘,本文采用两种方法:一是密码登录关闭U盘锁功能,放行所有U盘。二是只放行授权的U盘。
(3) 如何防止本程序进程不被强制结束。本文采用远程线程插入技术创建守护线程进行监控,监控本程序进程如果被结束,立即重新启动计算机。
3 开发过程
U盘锁程序界面如下图:
|