la force de tout processus en cours d'exécution à un crash
Je voudrais planter un programme en cours d'exécution de mon choix (par exemple, notepad++, becrypt, word) pour les logiciels des fins de test.
Je sais comment BSOD, je sais comment faire, j'ai écrit à crash, je sais comment à la fin du processus - mais comment le crash d'un processus existant je ne!
toute aide?
Si cette un programme que vous pouvez attacher un débogueur, alors vous pouvez arrêter le débogueur, sans les détacher - ce qui va planter votre application
OriginalL'auteur rikAtee | 2012-05-21
Vous devez vous connecter pour publier un commentaire.
Bien, utilisez
CreateRemoteThread
sur un processus distant et invoquer quelque chose [1] qui bloque le processus de manière fiable. Je ne suis pas sûr de savoir siCreateRemoteThread
protège contre les pointeurs nuls, mais vous pouvez passer d'une adresse dans la page nulle à ce que le processus distant d'exécuter.[1] pointeur null ou la valeur null à la page d'accès de la division par zéro, l'invocation du privilège de l'instruction, de
int3
...Exemple:
Bien sûr, vous aurez envie de régler le PID dans l'appel à
killProcess
. Compilé avec WNET DDK et testé sur Serveur 2003 R2.L'essentiel ici est que nous disent les processus distant d'exécuter du code à l'adresse 0x1 (
(LPTHREAD_START_ROUTINE)1
), qui est à l'intérieur de la page null, mais pas un pointeur null (dans le cas où il y a des vérifications qui). Le crud autour de la fonction, en particuliersetCurrentPrivilege
est utilisé pour obtenir le débogage complet privilèges afin que nous puissions faire notre maléfique.OriginalL'auteur 0xC0000022L
Vous pouvez utiliser DLL technique d'injection afin d'injecter du code dans un autre processus. Puis dans votre code injecté faire quelque chose de simple comme abort() ou la division par zéro.
OriginalL'auteur Flot2011
Deux étapes mécanisme est nécessaire:
OriginalL'auteur mox