当前位置:首页 > 多媒体相关

揭开病毒的奥秘 DLL的远程注入技术详解



热门问答:
  • < Applet ActiveX > [详细内容]
  • 哪个证书更有前途(国家等级考试,程序员考试,还是各... [详细内容]
  • 怎样确定相对路径? [详细内容]
  • 关于#import 导入dll的使用的务必请各位来看看!!! [详细内容]
  • 关于load事件 [详细内容]

  • 推荐阅读
      · 双模手机要设置呼转来电才行
        摘要:联通公司的双模手机近日高调上市。凭借一机可两网两号的卖点,一时间双模手机追捧者众,上海联通甚至进行了为期近一个月的申办预登记。然而,仔细研究一下就会发现,双模手机未必每个人都适用。 两号不可同时在网   双模手机可以集gsm卡号和cdma卡号于一身,但两号无法同时在网。如果在gsm网络状态下,别人拨打你的cdma卡......
      · 5xx元可以买到的865pe+光电鼠套装市场直击
        摘要: 虽然电子市场日趋冷清,但是每一个商家都不要一讲这个事实说出口,他们正在努力的将自己能力改变整个局面。当然还是起到一些作用的,就像今天我们向大家推荐的这款套装,颇有些赔本赚吆喝的意思............

    正文

      dll的远程注入技术是目前win32病毒广泛使用的一种技术。使用这种技术的病毒体通常位于一个dll中,在系统启动的时候,一个exe程序会将这个dll加载至某些系统进程(如explorer.exe)中运行。

      这样一来,普通的进程管理器就很难发现这种病毒了,而且即使发现了也很难清除,因为只要病毒寄生的进程不终止运行,那么这个dll就不会在内存中卸载,用户也就无法在资源管理器中删除这个dll文件,真可谓一箭双雕哉。

      记得2003年q.q尾巴病毒肆虐的时候,就已经有些尾巴病毒的变种在使用这种技术了。

      到了2004年初,我曾经尝试着仿真了一个q.q尾巴病毒,但独是跳过了dll的远程加载技术。

      直到最近在学校论坛上看到了几位朋友在探讨这一技术,便忍不住将这一尘封已久的技术从我的记忆中拣了出来,以满足广大的技术爱好者们。

      必备知识

      在阅读本文之前,你需要了解以下几个api函数:

      ·openprocess - 用于打开要寄生的目标进程。

      ·virtualallocex/virtualfreeex - 用于在目标进程中分配/释放内存空间。

      ·writeprocessmemory - 用于在目标进程中写入要加载的dll名称。

      ·createremotethread - 远程加载dll的核心内容,用于控制目标进程调用api函数。

      ·loadlibrary - 目标进程通过调用此函数来加载病毒dll。

      在此我只给出了简要的函数说明,关于函数的详细功能和介绍请参阅msdn。

      示例程序

      我将在以下的篇幅中用一个简单的示例virus.exe来实现这一技术。这个示例的界面如下图:

      首先运行target.exe,这个文件是一个用win32 application向导生成的“hello, world”程序,用来作为寄生的目标进程。

      然后在界面的编辑控件中输入进程的名称“target.exe”,单击“注入dll”按钮,这时候virus.exe就会将当前目录下的dll.dll注入至target.exe进程中。

      在注入dll.dll之后,你也可以单击“卸载dll”来将已经注入的dll卸载。

    讨论区

    Login