Antikill : protégez les processus des "kill" venant des autres processus (api win32)

Description

AntiKill permet d'empêcher les TerminateProcess venant des autres programmes (TaskManager étant aussi un programme, il ne pourra donc plus tuer les processus sans leur demander avant)

Ce programme a été fait pour contrer un virus qui sévit en ce moment (j'connais pas encore son p'tit nom). Il tue certain processus avant qu'on ait le temps de s'en servir!! (notamment les antivirus, ou encore regedit)

Je met dans ici juste le code permettant de protéger le processus désiré. Pour l'appli complète, regardez dans le zip (c'est fait sous C++ Builder, mais c'est facilement transferable pour d'autres compilateurs)

Source / Exemple :


//---------------------------------------------------------------------------

DWORD  SetPermissions(int pid )
{
	DWORD dwErr;
    HANDLE hpWriteDAC = OpenProcess( WRITE_DAC, FALSE, pid );
	dwErr =GetLastError();

    SID world = { SID_REVISION, 1, SECURITY_WORLD_SID_AUTHORITY, 0 };

    EXPLICIT_ACCESS ea =
    {
        PROCESS_TERMINATE,
        DENY_ACCESS,
        NO_INHERITANCE,
        {
            0, NO_MULTIPLE_TRUSTEE,
            TRUSTEE_IS_SID,
            TRUSTEE_IS_USER,
            reinterpret_cast<char*>( &world )
        }
    };
    ACL* pdacl = 0;
     dwErr = SetEntriesInAcl( 1, &ea, 0, &pdacl );

    dwErr = SetSecurityInfo( hpWriteDAC, SE_KERNEL_OBJECT,
                           DACL_SECURITY_INFORMATION,
                           0, 0, pdacl, 0 );

    LocalFree( pdacl );
	return dwErr;
}

Conclusion :


Je voudrais juste ajouter un remerciement à BruNews pour la procédure d'énumération des processus sans psapi.dll

Codes Sources

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.