thisisu wrote:So basically ZA tries to locate the above services, if it finds them, will grant full permissions over them and then stops and deletes them? :)Yes.
Code: Select all
BOOL StopAndDeleteService(SC_HANDLE hService)
{
int iRetryCount;
SERVICE_STATUS ServiceStatus;
iRetryCount = 4;
do
{
if ( ControlService(hService, SERVICE_CONTROL_STOP, &ServiceStatus) )
break;
if ( GetLastError() != ERROR_DEPENDENT_SERVICES_RUNNING )
break;
Sleep(1000);
--iRetryCount;
}
while ( iRetryCount );
ChangeServiceConfigW(hService, SERVICE_WIN32_SHARE_PROCESS, SERVICE_DISABLED, 0, 0, 0, 0, 0, 0, 0, 0);
DeleteService(hService);
return CloseServiceHandle(hService);
}
Ring0 - the source of inspiration