天下网吧 >> 网吧天地 >> 网吧技术 >> 网吧安全 >> 正文

知己知彼,病毒是如何感染游戏可执行文件的

2008-2-18天下·网吧联盟佚名

  这里只说说类似logo这类的恶性病毒(以下简称病毒)是如何感染可执行文件的(扩展名是.exe的)。
  
  病毒通过各种方式运行之后,首先会对操作系统进行判断,搞清楚什么操作系统,然后,会执行一些特定的隐藏工作,并添加到系统注册表中可以让自己再次运行的位置。这些初始化工作做完之后,如果病毒没有别的任务。就开始感染文件了。
  
  首先,病毒会枚举当前正在运行的程序的路径,例如当你在使用千千静听听歌的时候,病毒就会枚举到千千静听.exe程序路径,如下图:
  
  
  
  通常病毒可以枚举到当前正在运行的所有程序的可执行文件的路径,但除了一些作过特殊处理的程序,例如下图中的卡巴斯基的进程kav.exe,病毒就无法枚举到:

  
  
  一旦病毒获得了可执行文件的路径,就会打开这个可执行文件(如果能打开的话,通称可执行文件都是采用镜像方式读入内存的,所以一般都能打开),然后把自己的代码写道合适的位置。
  
  对于那些当前没有运行的程序,病毒就没有办法知道其可执行文件的路径了。这时候,病毒会采取枚举目录的办法来寻找可执行文件。例如,病毒要感染d盘中的游戏的可执行文件,病毒首先询问操作系统,“告诉我,d盘更目录都有什么文件和文件夹?把这些信息写道纸条上给我!”操作系统很听话,就会如实把这些信息“写道纸条上”告诉病毒。病毒拿到d盘更目之后,就会按照上面列出的名字,挨个让操作系统带路,比如有一个叫做传奇的目录,病毒就会让操作系统带路,“带我到传奇目录里面去!”,操作系统就会带病毒进入传奇的目录中去,进去之后,病毒会接着问“可执行文件都是那些?”,操作系统会返回“传奇”目录中的所有可执行文件的名字给病毒,病毒知道了可执行文件的路径后,就会感染这些文件。 病毒会让操作系统带他进入d盘所有的目录中去一编,试图感染所有的可执行文件,来完成传播自身的目的。
  
  由此我们可以知道,要避免可执行文件被感染,那么必须做到:
  
  在内存中不要让病毒获得自身可执行文件的路径,例如上图中的kav.exe进程。方法是,处理系统枚举进程的函数,就是取得系统的最高层管理权限,这就是杀毒软件有时候会造成系统崩溃的原因之一。
  
  在病毒枚举磁盘的过程中,不让其枚举到。这在windows nt系统中都是可以很容易做到的,那就是利用ntfs文件系统的的权限特性。关于ntfs权限的应用,或者大家有什么不同的理解的,欢迎到天下·网吧联盟论坛技术版讨论:bbs.txwb.com。

欢迎访问最专业的网吧论坛,无盘论坛,网吧经营,网咖管理,网吧专业论坛https://bbs.txwb.com

关注天下网吧微信,了解网吧网咖经营管理,安装维护:


本文来源:天下·网吧联盟 作者:佚名

声明
本文来源地址:0
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com.,本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行