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

📄 scandir.pas

📁 明小子旁注Domain3.0和Domain2.2两个版本源码
💻 PAS
字号:
{##########################################
         旁注入侵专用程序 3.0升级版
 ----------------------------------------
  模块:旁注检测 - 扫描整站目录
  描述:该单元为扫描整站目录的窗口单元
  作者:2005.3.22日晚  明小子
##########################################}

unit ScanDir;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, CheckLst, ComCtrls, DB, ADODB, Buttons;

type
  TScanDirForm = class(TForm)
    CheckListBox1: TCheckListBox;
    Button1: TButton;
    StatusBar1: TStatusBar;
    Label1: TLabel;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    EdAddress: TEdit;
    Label2: TLabel;
    Button6: TButton;
    ADOQuery1: TADOQuery;
    SpeedButton1: TSpeedButton;
    procedure Button6Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  ScanDirForm: TScanDirForm;
  Bool: Boolean = True;

implementation

uses MainUnit;

{$R *.dfm}

procedure TScanDirForm.FormCreate(Sender: TObject);
var
  i: integer;
begin
  i := -1;
  ADOQuery1.Close;
  ADOQuery1.SQL.Text := 'select * from Scan_DirFile';
  ADOQuery1.Open;
  while not ADOQuery1.Eof do
  begin
    inc(i);
    CheckListBox1.Items.Add(ADOQuery1.fieldbyname('dirfile').AsString);
    CheckListBox1.Checked[i] := True;
    ADOQuery1.Next;
  end;
  StatusBar1.Panels[0].Text := ' 提示: 共载入了' + inttostr(CheckListBox1.Items.Count) + '个检测目录!';
end;

procedure TScanDirForm.SpeedButton1Click(Sender: TObject);
begin
  close;
end;

procedure TScanDirForm.Button5Click(Sender: TObject);
begin
  Bool := False;
  MainForm.OpenFile.DefaultExt := 'txt';
  MainForm.OpenFile.Filter := 'TXT文件 (*.txt)|*.txt|DIC文件 (*.dic)|*.dic|全部文件|*.*';
  if MainForm.OpenFile.Execute then
    CheckListBox1.Items.LoadFromFile(MainForm.OpenFile.FileName);
end;

procedure AllSelectChk(ChkBox: TCheckListBox; Bool: Boolean = True); {SQL注意 - 全选 & 反选}
var
  i: integer;
begin
  for i := 0 to ChkBox.Items.Count - 1 do
    ChkBox.Checked[i] := Bool;
end;

procedure TScanDirForm.Button3Click(Sender: TObject);
begin
  AllSelectChk(CheckListBox1);
end;

procedure TScanDirForm.Button4Click(Sender: TObject);
begin
  AllSelectChk(CheckListBox1, False);
end;

procedure TScanDirForm.Button1Click(Sender: TObject);
var
  S: string; {SQL注入 -  添加表名 & 列名的过程}
  B: Boolean;
begin
  S := '';
  b := inputquery('添加检测目录', '添加目录      ', s);
  if B then
    if Trim(S) <> '' then
    begin
      CheckListBox1.Items.Add(StringReplace(S, ' ', '', [rfReplaceAll]));
      CheckListBox1.Checked[CheckListBox1.Items.Count - 1] := True;
      CheckListBox1.ItemIndex := CheckListBox1.Items.Count - 1;
      ADOQuery1.Close;
      ADOQuery1.SQL.Text := 'select * from Scan_DirFile';
      ADOQuery1.Open;
      ADOQuery1.AppendRecord([nil, s]);
    end;
end;

procedure TScanDirForm.Button2Click(Sender: TObject);
begin
  if CheckListBox1.ItemIndex < 0 then {SQL注入 - 删除表名 & 列名的过程}
  begin
    application.MessageBox('请先选中你所要删除的记录!', '提示', 48);
    Exit;
  end;
  if Bool then
  begin
    if application.MessageBox('确定要删除该记录吗?', '提示', 32 + MB_YESNO) = 6 then
    begin
      ADOQuery1.Close;
      ADOQuery1.SQL.Text := 'select * from Scan_DirFile';
      ADOQuery1.Open;
      ADOQuery1.RecNo := CheckListBox1.ItemIndex + 1;
      ADOQuery1.Delete;
      CheckListBox1.DeleteSelected;
    end;
  end
  else
    CheckListBox1.DeleteSelected;
end;

procedure TScanDirForm.Button6Click(Sender: TObject);
var
  s: string;
begin
  s := s + '附加目录格式: ' + #13;
  s := s + '如: /admin' + #13;
  s := s + '或: /admin/data' + #13;
  s := s + '前面要有一个/,后面则不需要!' + #13;
  s := s + '---------------------------' + #13;
  s := s + '最后组合起来的格式将是:' + #13;
  s := s + '网址 + 附加目录 + 检测的目录地址' + #13;
  s := s + '如果不需要附加目录则默认为空!' + #13;
  application.MessageBox(pchar(s), '使用说明', 32);
end;

end.

⌨️ 快捷键说明

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