Archives de la catégorie ‘Windows’.

Bypassing SEHOP on Windows 7

Lundi 21 décembre 2009

La protection SEHOP introduite dans Windows Vista et 2008 permet de protéger les applications contre les exploitations de buffer-overflows classiques. Celles-ci consistent en général à écraser non seulement une adresse de retour, mais aussi la structure SEH gérant les exceptions provoquées par l'application, dans le but de rediriger le flux ...

Problème de multiboot Vista – XP

Jeudi 25 juin 2009

Je viens tout juste de me pencher sur un problème de multiboot avec mon ordi portable. Pour résumer grossièrement la situation, j'avais un triple boot fonctionnel entre Windows Vista, Windows XP et Ubuntu, et un beau jour je me suis décidé de supprimer la partition contenant Vista. Résultat : impossible ...

Conférence NDH 2009 sur GoRing0

Jeudi 14 mai 2009

Je me suis récemment lancé sur un nouveau projet perso, nommé GoRing0. Ce projet est parti d'une question existentielle que je me suis posée concernant les processus, ou plutôt les threads. Sous Linux et Windows, ceux-ci s'exécutent normalement en ring 3 (mode processeur userland), alors que les drivers s'exécutent en ...

Tunnez votre BSOD (Blue Screen Of Death)

Jeudi 30 avril 2009

Tous les développeurs de drivers et les reversers kernel vous le diront : quand on touche au noyau Windows d'un peu trop près, on a le droit à un écran bleu de la mort, ou BSOD (Blue Screen Of Death). C'est justement parce que je me suis pris un tas ...

Problèmes liés aux interruptions

Mardi 21 avril 2009

Dans le cadre de mon stage, je m'intéresse au fonctionnement des interruptions de l'architecture x86. Il s'agit d'un mécanisme complexe mais extrêmement important pour comprendre comment un système d'exploitation arrive à fonctionner. Si j'écris ce post, c'est parce que je me suis pris la tête sur des problèmes qui y ...

Plongeon dans les appels systèmes Windows

Samedi 28 mars 2009

Mon stage m'a donné l'occasion d'analyser en détails comment un appel système est réalisé sous Windows. Si vous vous demandez comment un programme utilisateur (ring 3) fait pour appeler une fonction s'exécutant en mode noyau (ring 0), alors cet article est pour vous. J'y explique toutes les étapes de la ...