FORUM DARKERS

Tecnologia & Informática => Programação => Delphi => Topic started by: Anonymous on 12 de March , 2007, 01:25:18 PM

Title: [AJUDA] Serviço do windows
Post by: Anonymous on 12 de March , 2007, 01:25:18 PM
Olah...
Gostaria de sabe como faze um aplicativo em delphi roda como serviço do windows..
Ou sejah iniciar junto com o Windows Sem aparecer no ctrl+ alt+ del e nen no msn config...
Se podesem disponibilizar um exemplo...

Fico grato
Title: Re: [AJUDA] Serviço do windows
Post by: Hacker Xtreme on 13 de March , 2007, 07:47:02 PM
function TXtreme.CriarServico(Nome : String; Comentario : String; Arquivo : String) : Bool;
var
 CHM, CHS : SC_Handle;
begin
 Result := False;
 CHM :=OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
if (CHM > 0) then
begin
 CHS := CreateService(CHM, PChar(Comentario), PChar(Nome), SC_MANAGER_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START, SERVICE_ERROR_IGNORE, PChar(Arquivo), nil, nil, nil, nil, nil);
if CHS > 0 then
 Result := True
 else
  CloseServiceHandle(CHS);
  CloseServiceHandle(CHM);
end;
end;

function TXtreme.DeletarServico(Nome : String) : Bool;
var
 CHM, CHS : SC_Handle;
begin
 Result := False;
 CHM := OpenSCManager(nil, nil, SC_MANAGER_CONNECT);
if (CHM > 0) then
begin
 CHS := OpenService(CHM, PChar(Nome), $10000);
if (CHS > 0) then
begin
if DeleteService(CHS) then
 Result := True;
 CloseServiceHandle(CHS);
end;
 CloseServiceHandle(CHM);
end;
end;


Retirei do meu componente ;P, espero que te ajude hehehe
Title: Re: [AJUDA] Serviço do windows
Post by: Hacker Xtreme on 13 de March , 2007, 07:54:06 PM
ahhhh declara "WinSvc" na uses
Title: Re: [AJUDA] Serviço do windows
Post by: whit3_sh4rk on 13 de March , 2007, 08:16:39 PM
QuoteSem aparecer no ctrl+ alt+ del e nen no msn config...
Se podesem disponibilizar um exemplo...
Não é porque o executável está rodando como serviço, que ele deixará de aparecer no gerenciador de tarefas...

[]s
Title: Re: [AJUDA] Serviço do windows
Post by: Anonymous on 14 de March , 2007, 12:24:35 AM
Quote from: "whit3_sh4rk"
QuoteSem aparecer no ctrl+ alt+ del e nen no msn config...
Se podesem disponibilizar um exemplo...
Não é porque o executável está rodando como serviço, que ele deixará de aparecer no gerenciador de tarefas...

[]s

Claro que desaparece, mas da pra ver clicando no botao direito em meu computador, depois gerenciar, aí abre uma pá de coisa, vai na hierarquia e procura por services, vao estar todos lá, mas tem uma pá de gente que nem conhece esse menu, aproveita e poe um nome de service igual a algum do windows... e faz ele iniciar automatico tbm né, senao de nada adianta...
Title: Re: [AJUDA] Serviço do windows
Post by: whit3_sh4rk on 14 de March , 2007, 11:34:34 AM
Sonics
Rapaizin.. abra seu gerenciador de tarefa, e leia lá, tudo que estiver com nome de usuário SYSTEM, LOCAL SERVICE e NETWORK SERVICE, está rodando como serviço, mas nem por isso está invisível.

Pode-se executar a lista de serviços também através do Iniciar > Executar: services.msc.

O que você pode fazer é colocar o nome do seu executável, igual um nome de algum serviço para poder confundir o usuário.

[]s
Title: Re: [AJUDA] Serviço do windows
Post by: Anonymous on 15 de March , 2007, 03:47:28 AM
Quote from: "whit3_sh4rk"Sonics
Rapaizin.. abra seu gerenciador de tarefa, e leia lá, tudo que estiver com nome de usuário SYSTEM, LOCAL SERVICE e NETWORK SERVICE, está rodando como serviço, mas nem por isso está invisível.

Pode-se executar a lista de serviços também através do Iniciar > Executar: services.msc.

O que você pode fazer é colocar o nome do seu executável, igual um nome de algum serviço para poder confundir o usuário.

[]s

Nao tenho gerenciador de tarefas, nao uso essa porcaria de SO.
Cara acontece q eu tinha lido um tutorial ensinando o processo virar service e nao aparecer no gerenciador...vai ver no windows que o maluko fez nao aparece, ou ele fez alguma gambiarra pro service nao aparecer...
Title: Re: [AJUDA] Serviço do windows
Post by: TGA on 15 de March , 2007, 08:06:15 AM
TGA

Talves o que ele te mostrou era para o windows 98, segue abaixo um exemplo que deixa o Arquivo.exe
oculto nos processos do windows.

unit Unit1;

Interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class (TForm)
Button1 : TButton;
procedure FormDestroy (Sender: TObject);
procedure FormCreate (Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;

var
Form1 : TForm1;

implementation

{$R *.DFM}

const
RSPSIMPLESERVICE = 1;
RSPUNREGISTERSERVICE = 0;

function RegisterServiceProcess (dwProcessID, dwType: DWord) : DWord;
stdcall; external 'KERNEL32.DLL';

procedure TForm1.FormDestroy (Sender: TObject);
begin
RegisterServiceProcess (GetCurrentProcessID, RSPUNREGISTERSERVICE)
end;


procedure TForm1.FormCreate (Sender: TObject);
begin
RegisterServiceProcess (GetCurrentProcessID, RSPSIMPLESERVICE)
end;


end.

Apenas testado no 98, mais no NT, XT  outros >, não funcionan.
Abraços..
Title: Re: [AJUDA] Serviço do windows
Post by: rog on 15 de March , 2007, 10:33:24 AM
alem do mais nem todo exe pode ser lançado como serviço

rog
Title: Re: [AJUDA] Serviço do windows
Post by: Hacker Xtreme on 15 de March , 2007, 11:33:38 PM
> rog
acho que os softs podem ser lançados como serviço sim..

> TGA
este code só funciona no 98, isso se não dar pau, pois, quando eu usava o 98 eu  testei isso e mesmo assim deu pau, mais pra esconder do 98 somente um "Application.ShowMainForm := False" resolve.

> Tio Whit3
Você esta extremamente certo, a única diferença entre "Run e Services" é que o Run se a pessoa for esperta ela acha dele seu trojanzinho na hora, agora se for no services ela vai ficar loca, pois, ela não pode desativar tudo hehe.

> Geral ( Todos )
Não tem metodo que deixe totalmente invisivel sempre vai ter metodos que deixe qualquer coisa visivel ^^.

by Xtreme
Title: Re: [AJUDA] Serviço do windows
Post by: Anonymous on 16 de March , 2007, 01:43:44 AM
TGA eu realmente nao lembro :\ pode ser q seja mesmo, me parece q eu tentei compilar o code no winxp e nao funcionou :\ , faz tempo, vo ver se acho novamente esse tutorial...