病毒运行方式 2006-09-24 21:43

直接运行进程。
此处说的指的是运行的时候创建文件的过程。即运行时候产生的结果。主要是指的是对CreateFile(),OpenFile(),GetFile()等函数的调用。很多病毒都会运用这些函数读写文件。简单举例。

以Mydoom病毒为例,

HANDLE h = CreateFile(argv[1], GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, 0,
       OPEN_EXISTING, 0, 0);
   if (h == INVALID_HANDLE_VALUE) {
       printf("%s: cannot open \"%s\"\n", argv[0], argv[1]);
       return;
   }

   if (GetFileSize(h,0) < 0x100) {
       printf("%s: invalid size\n", argv[0]);
       CloseHandle(h);
       return;
   }

   DWORD dwPeOffs, dwRead, dwWritten;
   SetFilePointer(h, 0x3C, 0, FILE_BEGIN);
   ReadFile(h, &dwPeOffs, 4, &dwRead, 0);

上一篇:Generic 打印ID对应的object type的工具


下一篇:Ubuntu下boot分区空间不足问题的解决方案