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

📄 hsearch.pas

📁 这是一款木马程序
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit HSearch;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons, ComCtrls, Grids, ValEdit,
  IdAntiFreezeBase, IdAntiFreeze, IdBaseComponent, IdComponent, IdRawBase,
  IdRawClient, IdIcmpClient,PingThrd,SinglePing,MonitorThrd,ImgList,
  IdTCPConnection, IdTCPClient, ScktComp, Mask;

type
  TNetSearch = class(TForm)
    Panel2: TPanel;
    GroupBox1: TGroupBox;
    Panel3: TPanel;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    SpeedButton1: TSpeedButton;
    Edit3: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Edit4: TEdit;
    Label6: TLabel;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Label1: TLabel;
    Edit8: TEdit;
    Label7: TLabel;
    Edit9: TEdit;
    Label8: TLabel;
    Edit10: TEdit;
    Panel4: TPanel;
    Panel5: TPanel;
    SpeedButton6: TSpeedButton;
    GroupBox4: TGroupBox;
    Timer1: TTimer;
    Edit11: TEdit;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    IdIcmpClient1: TIdIcmpClient;
    IdAntiFreeze1: TIdAntiFreeze;
    Timer2: TTimer;
    Panel6: TPanel;
    Panel7: TPanel;
    Edit12: TEdit;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    ProgressBar2: TProgressBar;
    ProgressBar1: TProgressBar;
    GroupBox5: TGroupBox;
    Label12: TLabel;
    Edit13: TEdit;
    SpeedButton2: TSpeedButton;
    Label9: TLabel;
    Label10: TLabel;
    Edit2: TEdit;
    Edit1: TEdit;
    SpeedButton8: TSpeedButton;
    Panel8: TPanel;
    Panel9: TPanel;
    ListBox1: TListBox;
    Panel10: TPanel;
    ImageList1: TImageList;
    SpeedButton15: TSpeedButton;
    Edit14: TEdit;
    SpeedButton16: TSpeedButton;
    SpeedButton17: TSpeedButton;
    SpeedButton18: TSpeedButton;
    Panel13: TPanel;
    IdTCPClient1: TIdTCPClient;
    ListBox2: TListBox;
    Splitter3: TSplitter;
    Panel16: TPanel;
    SpeedButton21: TSpeedButton;
    SpeedButton23: TSpeedButton;
    Panel17: TPanel;
    Splitter4: TSplitter;
    TreeView2: TTreeView;
    Panel12: TPanel;
    SpeedButton10: TSpeedButton;
    SpeedButton14: TSpeedButton;
    Panel11: TPanel;
    Panel1: TPanel;
    SpeedButton12: TSpeedButton;
    SpeedButton13: TSpeedButton;
    SpeedButton22: TSpeedButton;
    SpeedButton3: TSpeedButton;
    Splitter1: TSplitter;
    Panel14: TPanel;
    ListBox3: TListBox;
    Panel15: TPanel;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton7: TSpeedButton;
    SpeedButton24: TSpeedButton;
    Edit15: TEdit;
    SpeedButton25: TSpeedButton;
    Panel18: TPanel;
    SpeedButton26: TSpeedButton;
    Edit16: TEdit;
    Panel19: TPanel;
    Panel20: TPanel;
    ListView1: TListView;
    SpeedButton27: TSpeedButton;
    SpeedButton29: TSpeedButton;
    MaskEdit1: TMaskEdit;
    SpeedButton30: TSpeedButton;
    SpeedButton31: TSpeedButton;
    MaskEdit2: TMaskEdit;
    SpeedButton32: TSpeedButton;
    ComboBox1: TComboBox;
    MaskEdit3: TMaskEdit;
    SpeedButton20: TSpeedButton;
    Timer3: TTimer;
    SaveDialog1: TSaveDialog;
    OpenDialog1: TOpenDialog;
    SaveDialog2: TSaveDialog;
    OpenDialog2: TOpenDialog;
    OpenDialog3: TOpenDialog;
    SaveDialog3: TSaveDialog;
    Edit17: TEdit;
    UpDown1: TUpDown;
    SpeedButton9: TSpeedButton;
    SpeedButton11: TSpeedButton;
    procedure MyConnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure MyDisconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure MyError(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: Integer);
    procedure Timer1Timer(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure Edit3Change(Sender: TObject);
    procedure Edit3KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure SpeedButton7Click(Sender: TObject);
    procedure ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure ListBox1DblClick(Sender: TObject);
    procedure SpeedButton10Click(Sender: TObject);
    procedure SpeedButton12Click(Sender: TObject);
    procedure SpeedButton16Click(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure TreeView1GetSelectedIndex(Sender: TObject; Node: TTreeNode);
    procedure Edit11KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormCreate(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton21Click(Sender: TObject);
    procedure SpeedButton23Click(Sender: TObject);
    procedure SpeedButton15Click(Sender: TObject);
    procedure SpeedButton24Click(Sender: TObject);
    procedure SpeedButton17Click(Sender: TObject);
    procedure SpeedButton26Click(Sender: TObject);
    procedure PageControl1Change(Sender: TObject);
    procedure SpeedButton19Click(Sender: TObject);
    procedure SpeedButton20Click(Sender: TObject);
    procedure SpeedButton28Click(Sender: TObject);
    procedure SpeedButton27Click(Sender: TObject);
    procedure SpeedButton29Click(Sender: TObject);
    procedure SpeedButton32Click(Sender: TObject);
    procedure SpeedButton30Click(Sender: TObject);
    procedure SpeedButton31Click(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure SpeedButton13Click(Sender: TObject);
    procedure SpeedButton22Click(Sender: TObject);
    procedure SpeedButton25Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton14Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);
    procedure SpeedButton9Click(Sender: TObject);
    procedure SpeedButton11Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
const
  myNUM=1024;
var
  ScanID:integer;
  NetSearch: TNetSearch;
  IP_A0,IP_B0,IP_C0,IP_D0:Byte;
  IP_Ao,IP_Bo,IP_Co,IP_Do:Byte;
  IP_A,IP_B,IP_C,IP_D:Byte;
  MultiPing:Array[1..2048] of PingThread;
  OldIP,StopState:String;
  PingCount:LongInt;
  MyClientSkt:array[1..myNUM] of TCLientSocket;
implementation

{$R *.dfm}

Function GetiPort(ObjStr:String):Integer;
var
  iPos:integer;
  strPort:String;
begin
  strPort:='';
  for iPos:=1 to Length(ObjStr) do
  Begin
    if ObjStr[iPos]='=' then Break;
    strPort:=StrPort+ObjStr[iPos];
 end;
 GetiPort:=StrToInt(StrPort);
end;


procedure TNetSearch.Timer1Timer(Sender: TObject);
begin
   ProgressBar1.StepIt;
   ProgressBar2.StepIt;
end;

procedure TNetSearch.SpeedButton1Click(Sender: TObject);
var
   Cnt:integer;
begin
 StopState:='False';
 OldIP:='';
 PingCount:=0;
 Timer1.Enabled:=True;
 IP_A:=StrToInt(Edit7.text);
 IP_B:=StrToInt(Edit8.text);
 IP_C:=StrToInt(Edit9.text);
 IP_D:=StrToInt(Edit10.text);
 IP_A0:=StrToInt(Edit3.text);
 IP_B0:=StrToInt(Edit4.text);
 IP_C0:=StrToInt(Edit5.text);
 IP_D0:=StrToInt(Edit6.text);
 IP_Ao:=StrToInt(Edit3.text);
 IP_Bo:=StrToInt(Edit4.text);
 IP_Co:=StrToInt(Edit5.text);
 IP_Do:=StrToInt(Edit6.text);
 for Cnt:=1 to StrToInt(Edit11.text) do
 begin
   MultiPing[Cnt]:=PingThread.Create(ListBox1.Items,StrToInt(Edit12.Text)); 
 end;
 for Cnt:=1 to StrToInt(Edit11.text) do
 begin
   MultiPing[Cnt].Resume;
 end;
end;

procedure TNetSearch.SpeedButton3Click(Sender: TObject);
var
  A1:integer;
  SPing:SglPingThrd;
  SIP:String;
  SIPList:TStringList;
begin
 Timer1.Enabled:=True;
 try
  SIPList:=TStringList.Create;
 except
  SIPList.Free;
  exit;
 end;
 SIPList.Text:=ListBox1.Items.Text;
 ListBox1.Items.Clear;
  For A1:=0 To SIPList.Count-1 do
  begin
    SIP:=SIPList[A1];
    SPing:=SglPingThrd.Create(SIP,ListBox1.Items,StrToInt(Edit12.Text));
    SPing.Resume;
    //if SpeedButton3.Down=False then Break;
    Application.ProcessMessages;
    Sleep(5);
  end;
 SIPList.Free;
 Timer1.Enabled:=False;
end;

procedure TNetSearch.SpeedButton6Click(Sender: TObject);
begin
 Timer1.Enabled:=False;
 StopState:='True';
end;

procedure TNetSearch.Edit3Change(Sender: TObject);
begin
   try
     if (StrToInt((sender as TEdit).Text)<0)
        or (StrToInt((sender as TEdit).Text)>255) then
     (sender as TEdit).Text:='1';
   except
     (sender as TEdit).Text:='1';
   end; 
end;

procedure TNetSearch.Edit3KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if(Sender as TEdit)=Edit3 then Edit7.Text:=Edit3.Text;
   if(Sender as TEdit)=Edit4 then Edit8.Text:=Edit4.Text;
   if(Sender as TEdit)=Edit5 then Edit9.Text:=Edit5.Text;
   if(Sender as TEdit)=Edit6 then Edit10.Text:='255';
end;

procedure TNetSearch.SpeedButton7Click(Sender: TObject);
var
   iL:integer;
begin
  for iL:=0 To Listbox3.Items.Count-1 do
  if ListBox3.Selected[iL]=True then
  begin
    ListBox3.Items.Delete(iL);
    exit;
  end;
end;

procedure TNetSearch.ListBox1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  Panel10.Caption:='共搜索到'+IntToStr(ListBox1.Items.Count)+'个IP地址';
end;

procedure TNetSearch.ListBox1DblClick(Sender: TObject);
var
   iL:Integer;
begin
   For iL:=0 to ListBox1.Items.Count-1 do
   begin
    if ListBox1.Selected[iL]=True then
     TreeView2.Items.Add(TreeView2.TopItem,ListBox1.Items[iL]);
   end;
end;

procedure TNetSearch.SpeedButton10Click(Sender: TObject);
begin
 TreeView2.Items.Clear;
end;

procedure TNetSearch.SpeedButton12Click(Sender: TObject);
var
   iL:integer;
begin
  for iL:=0 To Listbox1.Items.Count-1 do
  if ListBox1.Selected[iL]=True then
  begin
    ListBox1.Items.Delete(iL);
    exit;
  end;
end;

procedure TNetSearch.SpeedButton16Click(Sender: TObject);
var
     iL,iNwqk,iCount:integer;
begin
 ScanID:=2;
 For iCount:=0 to ListBox1.Items.Count-1 do
 begin
   Edit13.Text:=ListBox1.Items[iCount];
   TreeView2.Items.Add(nil,Edit13.Text);
   iNwqk:=1;
   for iL:=StrToInt(Edit1.Text) to StrToInt(Edit2.Text) do
   begin
     repeat
       iNwqk:=iNwqk+1;
       if iNwqk=myNUM then
         iNwqk:=1;
       Application.ProcessMessages;
       Panel7.Caption:=MyClientSkt[iNwqk].Address
                        +':'+IntToStr(iL)+'='+IntToStr(iNwqk);
       if SpeedButton8.Down=True then Exit;
     until MyClientSkt[iNwqk].Tag=100;
     MyClientSkt[iNwqk].Socket.Close;
     MyClientSkt[iNwqk].Address:=Edit13.Text;
     MyClientSkt[iNwqk].Port:=iL;
     MyClientSkt[iNwqk].Tag:=200;
     Panel7.Caption:=MyClientSkt[iNwqk].Address
                        +':'+IntToStr(iL)+'='+IntToStr(iNwqk);
     Try
       MyClientSkt[iNwqk].Active:=True;
     except
       MyClientSkt[iNwqk].Active:=False;
       Panel7.Caption:='系统溢出!';
       Sleep(1000);
       try
         MyClientSkt[iNwqk].Active:=True;
       except
         exit;
       end;
     end;
   end;
  end;
end;

procedure TNetSearch.ListBox1Click(Sender: TObject);
var
  iL:integer;
begin
   For iL:=0 to ListBox1.Items.Count-1 do
   begin
     if ListBox1.Selected[iL] then
      Edit13.Text:=ListBox1.Items[iL];
      MaskEdit1.Text:=ListBox1.Items[iL];
   end;
end;

procedure TNetSearch.TreeView1GetSelectedIndex(Sender: TObject;
  Node: TTreeNode);
begin
  Edit13.Text:=Node.Text;
end;

procedure TNetSearch.Edit11KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if StrToInt(Edit11.Text)>1024 then
         Edit11.Text:='1024';
end;
procedure TNetSearch.MyConnect(Sender: TObject;
  Socket: TCustomWinSocket);
var

⌨️ 快捷键说明

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