waithax : toujours aussi lent que la tortue et comme son nom l'indique ?
Oui. Et s'il est lent, c'est juste parce que c'est long de créer 36 000 processus, pour incrémenter leur PID, jusqu'à revenir à zéro.
edit: 36 000 est un expression, je ne connais pas le nombre exact 
c'est pas ça du tout...
il faut faire un integer overflow du reference count d'un KSynchronizationObject (ici, j'ai choisi une KSemaphore). pour faire ça, il faut passer par WaitSynchronizationN et donner un handle invalide, ce qui ne décrémente pas le reference count. A chaque call à WaitSynchronizationN que je fais dans le code de mon exploit, le reference count est donc incrémenté de 0xFF (255). Il faut (2^32 - 1) / 255 appels à WaitSynchronizationN (soit 16,843,009 appels, ou 0x1010101), ce qui revient à incrémenter le reference count de 2^32 - 1 pour qu'il atteigne zéro et déclencher la désallocation de l'objet lorsqu'il est utilisé, pour pouvoir ensuite utiliser le prochain objet désalloué comme vtable, ce qui permet de lancer son propre code en tant que Kernel11.
Modifié par Mrrraou, 18 décembre 2016 - 11:09.