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

Soyez le premier à donner votre avis sur cette source.

Vue 9 742 fois - Téléchargée 1 031 fois

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

Ajouter un commentaire Commentaires
Messages postés
9
Date d'inscription
dimanche 24 août 2003
Statut
Membre
Dernière intervention
28 juillet 2010

Ca marche pas !
Sur Windows 7 x64 , avec le gestionnaire de tache : je peux killer le processus proteger sans probléme !
Ca marche pas ,il doit manquer un paramétre.
Messages postés
12
Date d'inscription
dimanche 7 novembre 2010
Statut
Membre
Dernière intervention
4 décembre 2010

personne n'aurai une version "anti any "kill any proocessus"" ?
comment pourai-je adapter ce code a un de mes programmes ?
Messages postés
3
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
27 janvier 2010

bonjour moi j'ai tradui ce code en delphi mai il ne marche pas quelqun peu m'aider
Messages postés
25
Date d'inscription
jeudi 20 novembre 2003
Statut
Membre
Dernière intervention
2 janvier 2006

Sous vb.net, je ne sais pas, je ne m'en suis jamais servi... mais si c'est comme le vb d'antan, il te faudra exporter les fonctions depuis les dll systèmes et mettre le code dans le style vb. (Il y a pas mal d'exemple dans le coin de code vb utilisant des fonctions systèmes).

Pour ce qui est du nom du processus, ici il s'agit du PID, c'est à dire du numéro d'identification du processus et non de son nom, vu que tu peux avoir plusieurs processus portant le même nom.
Il te faut donc énumérer les processus (tu as des sources qui traines permettant l'énumération de processus), ce qui te permettra de faire le lien entre le nom du processus et son PID)
Dans le cas où il s'agit de ton appli, tu peut utiliser GetCurrentProcessId.

En espérant que cela t'aide un peu...
Messages postés
3
Date d'inscription
samedi 16 juin 2007
Statut
Membre
Dernière intervention
19 septembre 2007

Salut

J'aimerai savoir comment ajouter se code a mon project vb.net ?
Aussi ou es que on presise le nom du processus a proteger ?

Merci

Al968
Afficher les 23 commentaires

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.