mainservice.pas

来自「防火墙DELPHI代码 防火墙DELPHI代码」· PAS 代码 · 共 69 行

PAS
69
字号
unit mainService;

interface

uses
  madCodeHook, Windows, SvcMgr{, Registry};

type
  TiSafer = class(TService)
    procedure OnStart(Sender: TService; var Started: Boolean);
    procedure OnStop(Sender: TService; var Stopped: Boolean);
  private
    { Private declarations }
  public
    function GetServiceController: TServiceController; override;
    { Public declarations }
  end;

var
  iSafer: TiSafer;

implementation

{$R *.DFM}

procedure ServiceController(CtrlCode: DWord); stdcall;
begin
  iSafer.Controller(CtrlCode);
end;

function TiSafer.GetServiceController: TServiceController;
begin
  Result := ServiceController;
end;

procedure TiSafer.OnStart(Sender: TService; var Started: Boolean);
//var Reg:TRegistry;
begin
  self.LogMessage(#13 + #13 + self.Name + ' Started. (iSafer Firewall)',EVENTLOG_INFORMATION_TYPE);
  if InjectLibrary(ALL_SESSIONS Or SYSTEM_PROCESSES, 'PSMFireW.dll') then
    self.LogMessage(#13 + #13 + self.Name + ' InjectLibrary Success. (iSafer Firewall)',EVENTLOG_INFORMATION_TYPE)
  else
    self.LogMessage(#13 + #13 + self.Name + ' InjectLibrary Error. (iSafer Firewall)',EVENTLOG_ERROR_TYPE);
  Started:=True;

  {
  try
    Reg:=TRegistry.Create;
    Reg.RootKey:=HKEY_LOCAL_MACHINE;
    Reg.DeleteKey('\SOFTWARE\PSMAntiKeyLogger\PI')
  finally
    Reg.Free;
  end;
  }
  
end;

procedure TiSafer.OnStop(Sender: TService; var Stopped: Boolean);
begin
  if UnInjectLibrary(ALL_SESSIONS Or SYSTEM_PROCESSES, 'PSMFireW.dll') then
    self.LogMessage(#13 + #13 + self.Name + ' UnInjectLibrary Success. (iSafer Firewall)',EVENTLOG_INFORMATION_TYPE)
  else
    self.LogMessage(#13 + #13 + self.Name + ' UnInjectLibrary Error. (iSafer Firewall)',EVENTLOG_ERROR_TYPE);

  self.LogMessage(#13 + #13 + self.Name + ' Stoped by Windows. (iSafer Firewall). To stop iSafer Firewall, you should use iSafer App...',EVENTLOG_INFORMATION_TYPE);
end;

end.

⌨️ 快捷键说明

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