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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? psmfirew.dpr

?? 防火墻DELPHI代碼 防火墻DELPHI代碼
?? DPR
?? 第 1 頁 / 共 3 頁
字號(hào):
  //fn: array[0..MAX_PATH-1] of char;
  msg:string;
  Permit,i: Byte;
  strPermit: String;
  inRecent: BOOL;
  IPPort:String;
  CurrentTick: Cardinal;

  HMapMutex: THandle;
  tmpTotal: DWORD;

  strDomain: ShortString;
Begin
  Result:=True;

  try

  if (PMapData=nil) and not MapOpened then Openmap;

  if (PMapData=nil) or (PMapData^.boNewRule[MyProcessID]=2) then exit;//FW is stopped

  if (PMapData<>nil) and (PMapData^.boNewRule[MyProcessID]=1) then begin
    PMapData^.boNewRule[MyProcessID]:=0;
    LoadRules;
  end;

  inRecent:=False;

  IPPort:=ip+':'+IntToStr(Port);
  For i:=0 to MAX_HIS do
  Begin
    if IPPort = Allow[i] then
    Begin
      Result:=True;
      inRecent:=True;
      Break;
    End
    else if IPPort=Deny[i] then
    Begin
      Result:=False;
      inRecent:=True;
      Break;
    End;
  End;

  if not inRecent then
  Begin
    //SendIpcMessage('PSMFirewall', Pchar(' New IP/Port'),Length(' New IP/Port'),nil,0,IGNORE, TRUE);
    SendIpcMessage('PSMFirewall', Pchar(' New IP/Port'#0),Length(' New IP/Port'#0),nil,0);
    Permit:=CheckPermission(ip,port);
    Case Level of
      0:Begin
          if Permit=0 then Result:=False;
        End;

{
      1:Begin
          if Permit=1 then Result:=True
          else if Permit=0 then result:=False
          else if (port<>34223) then Result:=True
          else Result:=False;
        End;
}

      1:Begin
          if Permit=1 then Result:=True
          else if Permit=0 then result:=False
          else if (ip='127.0.0.1')
            or (ip='0.0.0.0')//service.exe
            or (ip='0.0.7.0')//service.exe

            or (port<140)//Major port such as FTP, Telnet, HTTP, etc.
            or (port=443)//ssl(for yessign certificate)
            or (port=444)//snpp, Simple Network Paging Protocol
            or (port=520)//RIP (Routing Information Protocol)
            or (port=545)//QuickTime
            or (port=554)//Real Time Streaming Protocol
            or (port=563)//NNTP over SSL
            or (port=631)//IPP (Internet Printing Protocol)
            or (port=1352)//Lotus Notes
            or (port=1433)//Microsoft SQL Server
            or (port=1434)//Microsoft SQL Monitor
            or (port=1521)//Oracle SQL
            or (port=1755)//Windows Media .asf
            or (port=1863)//MSM Messenger
            or (port=2048)//Printer
            or (port=3306)//mySQL
            or (port=3389)//RDP Protocol (Terminal Server)
            or (port=4000)//icq, command-n-conquer
            or (port=4098)//SignKorea Cer.
            or (port=4333)//mSQL
            or (port=4608)//icq
            or (port=5050)//Yahoo Messenger
            or (port=5120)//Woori Bank Cer. Manager - Client SM
            or (port=5190)//icq
            or (port=5631)//PCAnywhere data
            or (port=5632)//PCAnywhere
            or (port=7007)//MSBD, Windows Media encoder
            or (port=7070)//RealServer/QuickTime
            or (port=8080)//HTTP
            or (port=8181)//HTTP
            or (port=8383)//IMail WWW
            or (port=35072)////Woori Bank Cer. Manager - Client SM (When disconnecting)
            or (port=63860)//Yahoo Pops

            or (pos('\inetinfo.exe',DllPath)>0)//Web Server
            or (pos('\services.exe',DllPath)>0)//services
            or (pos('\rpcss.exe',DllPath)>0)//RPC
            or (pos('\spoolsv.exe',DllPath)>0)//NetPrinter
            or (pos('\isaferupdate.exe',DllPath)>0)//iSaferUpdate.exe
          then Result:=True
          else Result:=False;
        End;

      2:Begin
          if Permit<>1 then Result:=False;
        End;

    end;

    if Result then
    Begin
      Allow[iAllow]:=IPPort;//ip + ':' + IntToStr(Port);
      iAllow:=(iAllow + 1) mod (MAX_HIS+1);
    end
    else
    Begin
      Deny[iDeny]:=IPPort;//ip + ':' + IntToStr(Port);
      iDeny:=(iDeny + 1) mod (MAX_HIS+1);
    End;
  End;

  if Result then strPermit:='ALLOW'
  else Begin strPermit:= 'DENY'; End;//SysUtils.Beep;

  CurrentTick:=GetTickCount();

  if ((IPPort <> oldIPPort) or ((CurrentTick-oldTime)>1000)) and ((CurrentTick-stopT)>2000) and (ip<>'0.0.0.0')  and (ip<>'127.0.0.1') and (Port<>0) then// 1000 ms// or (Direction='IN') or (Direction='OUT')
  Begin
    dT:=dT+(CurrentTick-oldTime);
    inc(dM);
    if (dT>10) and ((dM/dT)>(5/1000)) then stopT:=CurrentTick;
    if (dT>1000)or(stopT=CurrentTick) then begin dT:=0; dM:=0; end;

    oldTime:=CurrentTick;
    oldIPPort:=IPPort;
    tmpTotal:=0;
    HMapMutex := CreateMutex(nil, false, pchar('PSMFirewallDLLShareMemMutex'));
    if HMapMutex <> 0 then begin
      if WaitForSingleObject(HMapMutex,REQUEST_TIMEOUT) = WAIT_OBJECT_0 then begin
        if (PMapData<>nil) then begin
          PMapData^.dwTotalBytes:=PMapData^.dwTotalBytes + (bSen + bRec - bTotal);
          tmpTotal:=PMapData^.dwTotalBytes;
          bTotal:=bSen + bRec;
        end;
      end;
      ReleaseMutex(HMapMutex);
      CloseHandle(HMapMutex);
    end;

    GetLocalTime(t);
    strDomain:=ip;
    for i:=0 to MAX_DOMAIN_HIS do if ip=DomainIP[i] then begin
      strDomain:=DomainName[i];
      break;
    end;
    msg:=AnsiReplaceStr(Format('%2d:%2d:%2d:%3d', [t.wHour, t.wMinute, t.wSecond, t.wMilliseconds]),' ','0') + #9 + Direction + #9 + strPermit + #9 + ip + #9 + IntToStr(port) + #9 + DllPath + #9 + IntToStr(bRec) + #9 + IntToStr(bSen) + #9 + IntToStr(tmpTotal) + #9 + IntToStr(s) + #9 + strDomain + #9 + IntToStr(LocalPort);
    //SendIpcMessage('PSMFirewall', Pchar(msg),strlen(Pchar(msg)),nil,0,IGNORE, TRUE);
    SendIpcMessage('PSMFirewall', Pchar(msg + #0),Length(msg + #0),nil,0);
  End;


  {
  GetSystemDirectory(fn,MAX_PATH);
  strcat(fn,'\LogFiles\PSMFireW');
  if not DirectoryExists(fn) then MkDir(fn);
  StrCat(fn,Pchar('\' + AnsiReplaceStr(Format('%4d%2d%2d%s', [t.wYear, t.wMonth, t.wDay, '.log']),' ','0')));
  AssignFile(f,fn);
  if FileExists(fn) then
    Append(f)
  else
    Rewrite(f);

  writeln(f,AnsiReplaceStr(Format('%2d:%2d:%2d', [t.wHour, t.wMinute, t.wSecond]),' ','0') + #9 + name + #9 + Permission + #9 + ip + #9 + ':' + IntToStr(port) + #9 + DllPath);
  Flush(f);
  CloseFile(f);
  }

  Except
    //SendIpcMessage('PSMFirewall', Pchar(' Error at WriteLog(): ' + IntToStr(GetLastError())),Length(' Error at WriteLog(): ' + IntToStr(GetLastError())),nil,0,IGNORE, TRUE);
    SendIpcMessage('PSMFirewall', Pchar(' Error at WriteLog(): ' + IntToStr(GetLastError()) + #0),Length(' Error at WriteLog(): ' + IntToStr(GetLastError()) + #0),nil,0);
    SysUtils.Beep;
  End;
End;

Function acceptCallback(s: TSocket; addr: PSockAddr; addrlen: PInteger): TSocket; stdcall;
Var
  myresult: TSocket;

  ip: string;
  port: integer;
  localport: integer;
Begin
  try

  if addr<>nil then begin
    ip:=inet_ntoa(addr^.sin_addr);
    port:=ntohs(addr^.sin_port);
  end
  else
    GetIPAndPort(s,ip,port,localport);

  if WriteLog(s, 'IN',ip,port, localport) then
  Begin
    if @acceptNext<>nil then
      myresult:=acceptNext(s, addr, addrlen)
    else
      myresult:=accept(s, addr, addrlen);    
    result:=myresult;
  end
  else
  begin
    WSASetLastError(WSAENETDOWN);
    result:= INVALID_SOCKET;
  end;
  if @acceptNext<>nil then RenewHook(@acceptNext);

  except
    SendIpcMessage('PSMFirewall', Pchar(' Error at accept()'#0),length(' Error at accept()'#0) ,nil,0);
    SysUtils.Beep;
    WSASetLastError(WSAENETDOWN);
    result:= INVALID_SOCKET;
  end;
End;

Function connectCallback(s: TSocket; var name: TSockAddr; namelen: Integer): Integer; stdcall;
Var
  myresult: Integer;

  ip: string;
  port: integer;
  localport: Integer;
Begin
  try

  GetIPAndPort(s,ip,port,localport);
  ip:=inet_ntoa(name.sin_addr);
  port:=ntohs(name.sin_port);

  if WriteLog(s,'OUT',ip,port,localport) then
  Begin
    if @connectNext<>nil then
      myresult:=connectNext(s, name, namelen)
    else
      myresult:=connect(s, name, namelen);    
    result:=myresult;
  end
  else
  begin
    WSASetLastError(WSAENETDOWN);
    result:= SOCKET_ERROR;
  end;
  if @connectNext<>nil then RenewHook(@connectNext);

  except
    SendIpcMessage('PSMFirewall', Pchar(' Error at connect()'#0),length(' Error at connect()'#0) ,nil,0);
    SysUtils.Beep;
    WSASetLastError(WSAENETDOWN);
    result:= SOCKET_ERROR;
  end;
End;

Function recvCallback(s: TSocket; var Buf; len, flags: Integer): Integer; stdcall;
Var
  myresult: Integer;

  ip: string;
  port: integer;
  localport: Integer;

  //HMapMutex: THandle;
Begin
  try

  GetIPAndPort(s,ip,port,localport);

  bRec := bRec + DWORD(len);

  {
  if LockMap then if (PMapData <> nil) then
  Begin
      PMapData^:=PMapData^ + DWORD(len);
      UnlockMap;
  End;
  }
  {
  HMapMutex := CreateMutex(nil, false, pchar('PSMFirewallShareMemMutex'));
  if HMapMutex <> 0 then begin
    if WaitForSingleObject(HMapMutex,REQUEST_TIMEOUT) <> WAIT_FAILED then begin
      PMapData^:=PMapData^ + DWORD(len);
    end;
    ReleaseMutex(HMapMutex);
    CloseHandle(HMapMutex);
  end;
  }

  if WriteLog(s, 'IN',ip,port,localport)then//REC
  begin
    if @recvNext<>nil then myresult:=recvNext(s,Buf,len, flags)
    else myresult:=recv(s,Buf,len, flags);
    result:=myresult;
  end
  else
  begin
    //s:=INVALID_SOCKET; (must change Var s)
    closesocket(s);
    WSASetLastError(WSAENETDOWN);
    result:= SOCKET_ERROR;
  end;
  if @recvNext <> nil then RenewHook(@recvNext);  

  except
    SendIpcMessage('PSMFirewall', Pchar(' Error at recv()'#0),length(' Error at recv()'#0) ,nil,0);
    SysUtils.Beep;
    WSASetLastError(WSAENETDOWN);
    result:= SOCKET_ERROR;
  end;
End;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av不卡在线观看| 国精产品一区一区三区mba视频| 欧美一区二区三区日韩| 国产一区二区视频在线播放| 一区二区三区色| 久久一夜天堂av一区二区三区| 欧美体内she精高潮| 国产91色综合久久免费分享| 日日摸夜夜添夜夜添精品视频| 国产精品免费久久| 久久久久99精品国产片| 欧美一区二区三区电影| 91豆麻精品91久久久久久| 国产91丝袜在线播放| 欧美亚一区二区| 成人精品视频网站| 久久99精品久久久久久久久久久久| 一区二区三区在线不卡| 国产精品久久久久一区二区三区| 精品黑人一区二区三区久久| 欧美三级电影精品| 91一区一区三区| aaa国产一区| 成人综合婷婷国产精品久久蜜臀| 激情综合网最新| 久久精品国产精品亚洲综合| 日韩精品久久理论片| 亚洲激情网站免费观看| 亚洲精品一卡二卡| 国产精品久久久久影院| 亚洲国产精品ⅴa在线观看| 久久蜜臀精品av| 久久婷婷一区二区三区| 亚洲精品在线观看视频| 日韩你懂的在线观看| 欧美刺激午夜性久久久久久久| 制服丝袜成人动漫| 日韩一区二区在线看| 日韩一区二区免费在线电影| 日韩美女一区二区三区四区| 欧美不卡在线视频| 精品久久久久久久一区二区蜜臀| 日韩一区二区三区免费看| 日韩精品一区二区三区蜜臀| 精品国产sm最大网站| 国产日韩成人精品| 国产精品全国免费观看高清 | 欧美一级爆毛片| 欧美猛男gaygay网站| 欧美老女人在线| 91精品国模一区二区三区| 日韩欧美一级片| 久久久综合九色合综国产精品| 2020国产精品| 国产精品久久久久久久午夜片| 国产精品黄色在线观看| 亚洲欧美国产三级| 五月开心婷婷久久| 激情五月激情综合网| 国产成人精品网址| av网站一区二区三区| 在线免费观看一区| 日韩欧美一区在线| 国产午夜精品久久久久久久| 亚洲女人****多毛耸耸8| 亚洲国产日日夜夜| 麻豆免费看一区二区三区| 国产 欧美在线| 91国产福利在线| 精品黑人一区二区三区久久| 中文字幕欧美一| 亚洲成在人线免费| 国产精品影视网| 欧美这里有精品| ww亚洲ww在线观看国产| 亚洲免费成人av| 激情丁香综合五月| 一本色道久久综合亚洲aⅴ蜜桃| 欧美老女人第四色| 国产午夜精品一区二区| 亚洲香肠在线观看| 国产福利精品一区| 欧美精品久久一区| 国产精品免费视频一区| 男女性色大片免费观看一区二区| 国产成人亚洲综合a∨婷婷图片| 在线亚洲免费视频| 久久久www成人免费毛片麻豆| 亚洲一区二区在线视频| 国产在线日韩欧美| 欧美日韩久久不卡| 国产精品成人午夜| 狠狠色狠狠色综合| 欧美日韩国产色站一区二区三区| 欧美激情中文不卡| 秋霞国产午夜精品免费视频| 99久久精品国产网站| 亚洲精品一区二区三区在线观看| 亚洲综合av网| 成人动漫一区二区在线| 欧美岛国在线观看| 亚洲一本大道在线| 99re视频精品| 国产日韩欧美不卡在线| 日本美女一区二区三区视频| 色悠久久久久综合欧美99| 国产亚洲欧美日韩日本| 久久国产尿小便嘘嘘| 欧美日韩精品综合在线| 亚洲免费视频中文字幕| 成人av在线资源网站| 2021久久国产精品不只是精品| 舔着乳尖日韩一区| 欧美最猛性xxxxx直播| 国产精品乱人伦中文| 国产精品一区二区在线播放| 日韩欧美第一区| 婷婷成人综合网| 欧美日韩欧美一区二区| 亚洲精品免费在线| 99久久精品国产观看| 国产精品萝li| 成人午夜在线播放| 欧美高清在线精品一区| 国产精品一品二品| 欧美精品一区二区蜜臀亚洲| 免费看欧美美女黄的网站| 欧美一区国产二区| 香蕉久久夜色精品国产使用方法| 91国模大尺度私拍在线视频| 亚洲女同一区二区| 日本韩国欧美国产| 一区二区三区免费在线观看| 91黄视频在线| 夜夜嗨av一区二区三区网页 | 成人午夜激情片| 国产精品系列在线| 夫妻av一区二区| 中文文精品字幕一区二区| 成人福利视频网站| 亚洲人成在线观看一区二区| 99热精品国产| 亚洲欧美精品午睡沙发| 色悠悠久久综合| 亚洲图片欧美视频| 欧美美女bb生活片| 蜜臀国产一区二区三区在线播放| 91精品国产综合久久福利| 另类小说视频一区二区| 久久久久久久久久久黄色| 国产黄色91视频| 中文字幕一区二区三区蜜月| av在线不卡电影| 亚洲第一搞黄网站| 日韩写真欧美这视频| 国产乱码精品一区二区三区忘忧草 | 精品制服美女丁香| 久久综合九色综合97_久久久| 国产精品一区二区男女羞羞无遮挡| 国产色综合一区| 色综合久久久久久久久久久| 午夜精品视频在线观看| 精品免费国产二区三区| 成人精品国产一区二区4080| 一区二区三区在线观看国产 | 国产精品成人午夜| 欧美日韩免费一区二区三区视频| 青青草国产成人av片免费| 精品成人在线观看| 99re这里只有精品视频首页| 日韩在线一二三区| 国产色综合久久| 欧美综合天天夜夜久久| 日韩av不卡一区二区| 国产精品美女久久久久久久久久久| 色狠狠色噜噜噜综合网| 看电视剧不卡顿的网站| 国产精品久久夜| 91精品国产麻豆国产自产在线 | 不卡的av中国片| 日日夜夜一区二区| 国产精品久久毛片av大全日韩| 欧美日韩国产综合一区二区 | 国产精品中文字幕日韩精品 | 国产成人在线视频网站| 亚洲综合清纯丝袜自拍| 国产偷v国产偷v亚洲高清| 欧美日韩亚洲综合| 国产成人aaaa| 美国十次综合导航| 亚洲午夜日本在线观看| 久久精品一区蜜桃臀影院| 欧美日韩国产不卡| 风间由美性色一区二区三区| 琪琪一区二区三区| 亚洲一区二区黄色| 欧美国产国产综合| 精品国产第一区二区三区观看体验 | 国产69精品久久久久毛片| 日韩av中文字幕一区二区三区|