how to hide a service

c++ / delphi package - dll injection and api hooking
Post Reply
yanxizhen
Posts: 3
Joined: Fri Apr 22, 2005 5:46 am

how to hide a service

Post by yanxizhen »

I want to hide a service (e.g named "myService"),the code is below:

Code: Select all

var
EnumServicesStatusANext: function(hSCManager: SC_HANDLE; dwServiceType: DWORD; dwServiceState: DWORD; lpServices: LPENUM_SERVICE_STATUSA; cbBufSize: DWORD; var pcbBytesNeeded, lpServicesReturned, lpResumeHandle: DWORD): BOOL; stdcall;
  EnumServicesStatusWNext: function(hSCManager: SC_HANDLE; dwServiceType: DWORD; dwServiceState: DWORD; lpServices: LPENUM_SERVICE_STATUSW; cbBufSize: DWORD; var pcbBytesNeeded, lpServicesReturned, lpResumeHandle: DWORD): BOOL; stdcall;
  EnumServicesStatusExANext: function(hSCManager: SC_HANDLE; InfoLevel: SC_ENUM_TYPE; dwServiceType: DWORD; dwServiceState: DWORD; lpServices: LPBYTE; cbBufSize: DWORD; var pcbBytesNeeded, lpServicesReturned, lpResumeHandle: DWORD; pszGroupName: LPCSTR): BOOL; stdcall;
  EnumServicesStatusExWNext: function(hSCManager: SC_HANDLE; InfoLevel: SC_ENUM_TYPE; dwServiceType: DWORD; dwServiceState: DWORD; lpServices: LPBYTE; cbBufSize: DWORD; var pcbBytesNeeded, lpServicesReturned, lpResumeHandle: DWORD; pszGroupName: LPCWSTR): BOOL; stdcall;



begin
 HookAPI('advapi32.dll', 'EnumServicesStatusA', @EnumServicesStatusACallback, @EnumServicesStatusANext);
  HookAPI('advapi32.dll', 'EnumServicesStatusW', @EnumServicesStatusWCallback, @EnumServicesStatusWNext);
  HookAPI('advapi32.dll', 'EnumServicesStatusExA', @EnumServicesStatusExACallback, @EnumServicesStatusExANext);
  HookAPI('advapi32.dll', 'EnumServicesStatusExW', @EnumServicesStatusExWCallback, @EnumServicesStatusExWNext);
end.
My problem is how to write the EnumServiceStatusCallBack function?

thx
madshi
Site Admin
Posts: 10764
Joined: Sun Mar 21, 2004 5:25 pm

Post by madshi »

Why do you want to hide the service? Is this for legal software?
Post Reply