文章作者:风泽
如果你是一个对安全很重视的网络管理员,如果你管理的计算机网络装的是WINDOWS 2000系统的话,相信对系统的安全设置时做重复的动作会使你感到郁闷,有没有想到让程序来帮你完成这些重复的工作呢?其实对系统进行设置大多数都是在操作注册表,所以用程序很容易就可以实现了,简简单单的一个程序就可以让你轻松许多。今天我就来简单的实现一个安全设置程序。
操作系统:WINDOWS 2000 PRO 实验目的:优化操作系统 大体思路:通过API函数对系统的注册表进行操作,调用SYSTEM()函数执行一些系统命令。
先介绍几个函数:
NO.1 system(char *command)
说明: 发出一个DOS命令
NO.2 LONG RegOpenKeyEx (HKEY hkey, LPCTSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
说明 打开一个现有的项。在win32下推荐使用这个函数
hKey 一个已打开项的句柄,或指定一个标准项名 lpSubKey 欲打开注册表项的名字 ulOptions 未用,设为零 samDesired 带有前缀KEY_??的一个或多个常数。它们的组合描述了允许对这个项进行哪些操作 phkResult 用于装载打开项的名字的一个变量
NO.3 LONG RegSetValueEx(HEKY hkey, LPCTSTR lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE *lpData, DWORD cbData) 说明 设置指定项的值
hKey 一个已打开项的句柄,或指定一个标准项名 lpValueName 要设置值的名字 Reserved 未用,设为零 dwType 要设置的数量类型 lpData 包含数据的缓冲区中的第一个字节 cbData 缓冲区的长度
NO.4 RegCloseKey (HKEY hKey)
说明 关闭系统注册表中的一个项(或键)
hKey 要关闭的项
好了,仔细看了上面的函数相信你有个大概的了解了吧,我们来具体看看如何编写这个程序吧。首先我们要关闭系统的默认共享,利用system函数执行系统命令,当然这个方法比较笨,但实现起来比较简单啊,觉得适合我们编程菜鸟。 void delshare() { system("@net share c$ /del"); system("@net share d$ /del"); /* 多数计算机是4个分区,如果你管理的计算机有很多分区的话 system("@net share e$ /del"); 可以自己添加,如果你愿意可以把a-z都写上去:P */ system("@net share f$ /del"); system("@net share admin$ /del"); } 如果你还有什么需要执行的命令就加上去吧,比如关闭服务啊,建立用户什么的。
什么是注册表呢? 简单的说注册表是一个庞大的数据库,用来存储计算机软硬件的各种配置数据。 修改注册表就等于修改计算机的配置,所以很多安全设置都是对注册表进行操作,我们来具体看看操作注册表的函数吧。
bool regset() { HKEY hkresult1; HKEY hkresult2; DWORD cbdata=4; char lpdA[4]; char lpdB[4]; LPCTSTR data1="SYSTEM\CurrentControlSet\Services\NetBT\Parameters"; //设置要打开的位置 LPCTSTR data2="SYSTEM\CurrentControlSet\Control\Lsa"; RegOpenKeyEx( HKEY_LOCAL_MACHINE, //打开注册表[HKEY_LOCAL_MACHINE data1, SYSTEMCurrentControlSetServicesNetBTParameters] 0, KEY_ALL_ACCESS, &hkresult1 );
RegOpenKeyEx( HKEY_LOCAL_MACHINE, //打开注册表[HKEY_LOCAL_MACHINE data2, SYSTEMCurrentControlSetControlLsa] 0, KEY_ALL_ACCESS, &hkresult2 );
lpdA[0]=1;lpdA[1]=0;lpdA[2]=0;lpdA[3]=0; //定义修改的值 lpdB[0]=0;lpdB[1]=0;lpdB[2]=0;lpdB[3]=0;
RegSetValueEx( hkresult1, "SMBDeviceEnabled", //对注册表进行设置,此设置为关闭445端口 &nbs 补充:综合编程 , 安全编程 ,
|