精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>● 计算机安全>>◇百家争鸣◇>>网吧管理类软件深入讨论

主题:网吧管理类软件深入讨论
发信人: xmzw(小米粥)
整理人: williamlong(2001-11-21 20:51:51), 站内信件

  笔者从很早以前就给网吧游戏房做维护管理,知道管理机房的甘苦,也用过不少管理类软件,颇有些心得,写出来与大家共享。以下讨论都限于理论,不牵扯具体软件。如果你想从中找到具体的破解方法,恐怕你要失望了。

  首先我们得明确网管类软件的目的:简化机房的日常管理。而机房的日常管理主要就是保证单一的每台机器正常运行和整个网络的稳定,再有就是上机收费。也就是说,主要是方便管理者而不是使用者。出于这个目的,网管类软件要能做到:一,限制一般用户的某些操作,主要包括对重点文件的访问及更改系统设置;二,上机管理及记费;可能还包括第三个作用,监控用户的操作,之所以说是“可能还包括”,主要是因为这牵扯到隐私的问题,太过敏感,咱们不讨论这个功能。而管理者和使用者可谓是一对矛盾,强化了一方必然损害另一方。这样一来,大家就都知道为什么使用者对网管类软件“深恶痛绝”了:不是所有的预设置都能让所有的使用者满意――尤其是在这样一个强调个性化的时代;出于安全性的考虑,限制了对硬盘的访问也会对某些正常的使用带来不便(举个例子,在网吧上网后想删掉自己的聊天记录);至于记费,倒还在其次,毕竟大部分人还都是讲道理的,而且大部分的网吧也还有手工记费。

  网管类软件的原理也很简单,不过是个外壳(shell)程序而已,它先于其他一切程序加载,提供一个(受密码保护的)界面,一般用户(只能)通过这个界面调用(一些被允许的)程序。为什么要加括号呢?因为最早的网管类软件是不提供那些括号里的功能的,哈哈,也就是说,那时的网管类软件主要是方便使用者的:因为那时的网管类软件主要是用在游戏房,上百个游戏如果都从开始菜单或者安装路径下启动就太麻烦了,实不相瞒,连笔者自己都做过一个这样的界面。后来网管类软件才慢慢开始强调管理功能,加上密码保护,封锁热键,直到客户机/服务器模式、数据库管理。这时候矛盾就开始激化了,于是变开始破解。

  任何一个程序都会结束(废话),无非是分为从正常出口结束和非正常结束。网管类软件也不例外,正常出口就是通过密码退出,那么破解的第一思路就是取得密码。一般来说,密码通常的去处是一个设置文件或者是注册表,先来讨论密码在一个设置文件里的情况。在这种情况下,破解的问题就变成了如何访问硬盘,因为所有的文件最终都在硬盘上(还是废话),一般来说封锁对硬盘的访问是小菜一碟,可是总有些特殊情况:通过运行或者地址栏咱们就不说了,通过快捷方式的查找目标来进入硬盘也是一个常见的方法,利用chm文件怎么样(大家还记得win2000的那个致命的bug吧)?还有一些工具软件也可以被利用,最常见的是acdsee,呵呵,它的浏览功能帮过我不少忙,其实只要是有驱动器列表和目录列表控件的软件几乎都可以被利用,因为那是windows的标准控件,一般是很难屏蔽的。只要能看到,一般就能修改,退一步说,即便不能修改,绝大多数网管类软件的加密也是不堪一击的。至于密码在注册表的情况,只要安装一遍,定位到键值,破解就不是任何问题,其安全性甚至还不如在设置文件里。这是从技术层面的讨论,还有些非技术因素,比如,可以制造一些状况,来让管理员处理,然后就可以在一旁看到密码。
  从正常出口退出显然太麻烦,那么我们看看非正常结束,大家都知道,windows里任何一个程序对windows系统来说都是一个任务,任务管理器就是用来管理它们的,当然了,所有的网管类软件都屏蔽了ctrl+alt+del,我们没办法用windows自带的任务管理器,可是别忘了我们有网络,强烈推荐taskinfo,可以任意终止进程,甚至每个进程的不同线程都一目了然。其他类似的软件还有很多,而且都可以下载到,体积也小,大部分不用安装,可以说是网管类软件的灾难。大家知道我最常用的是哪个吗?fpe2000!!他的好处在于好找,几乎是台机器就有,连下载都不用。

  当然了,最彻底的方法是根本不让网管软件启动,大家都知道可以在安全模式下做到这一点,不幸的是就是因为大家都知道,所以开机热键也就被屏蔽掉了,可是我们仍然可以进入安全方式!大家别忘了,如果windows检测到上次启动失败,就会自动进入安全模式,俗话说的好,有问题要解决,没有问题制造问题也要解决(哪里的俗话?),在启动的过程中按下reset,windows可没办法分辨到底是什么原因导致启动失败的,启动菜单乖乖的就出来了,然后就看各自的发挥了。顺便说一下,大家都说开机按f7或f8,可能是我手太慢?对win98这样做从来没成功过,我都是用ctrl呼叫菜单或者用shift直接进安全模式。

  可以说,现在的网管类软件在上面几招之下没有一个能幸免的。究其原因,还是和系统结合的不够紧密,在正常模式可以将其剥离出来而不影响系统的正常运行,在安全模式下的最小核心文件里显然也没有包含网管软件,导致无法提供保护。要解决这个问题,只有使网管软件成为windows的一部分,一旦网管软件停止运行,整个windows也随之停止。最简单的思路莫过于修改system.ini,“shell=”项,复杂一点的办法是替换一些设备驱动文件,在尽量不影响系统稳定的条件下加入自己需要的功能。最好的下手点应该是键盘鼠标的驱动了,因为在任何情况下,windows都要加载键盘鼠标驱动,而且键盘鼠标驱动相对比较简单,便于修改。以上分析没有经过测试,因为还没有使用这些思路的软件,不过理论上是行的通的。至少,我曾经通过修改“shell=”使win98只能使用word,至于修改驱动文件来增加功能,例子就更多了,我手边就有罗技鼠标的例子。还有另外一个思路。我们说了那么多,主要就是想让网管软件和windows同步运行,虽然我们没办法保证客户端不被破坏,可是我们能保证服务器端正常运行,那么我们可以用服务器端进行主动探测,也就是说,正常情况下让客户端定时向服务器端发送一个信号,这个信号包含这该客户端的编号,同时服务器端也定时探测客户机是否开机(当然是通过其他手段,比如ping ip),如果两者不匹配,则服务器端报警,这应该是个比较好的方案,代价是设置麻烦,而且要增加网络负担。

  如果让我推荐一个网管类软件,我的建议是:什么也别用。因为大部分人都是因为限制过多才想破解的,没有限制,也就无从破解(呵呵,古龙?)不但不要限制,反而要为使用者想的更多,让使用者用的更方便。抬手不打笑脸人,您说是不?毕竟和气生财,了不起做个ghost,放在最后一个隐藏分区里,出了问题十分钟搞定,麻烦是麻烦点,不能怠慢了客人。让顾客满意,这才是生财之道。 

[关闭][返回]