Comme vous le savez peut-être , le portable executable ou PE est un format de fichier utilisé pour les éxécutables windows ou encore les dlls.
Je me suis donc intéréssé à celui-ci , voici un code plutôt simple permettant la lecture de quelques informations le concernant ( ce viewer de pe est loin d'être complet , je pense à l'import table qui n'a pas été exploré dans ce code ).
Je tiens aussi à précisé que dans ce genre de code l'utilisation des casts est très importantes , étant donné que l'on a affaire à "des adresses virtuelles relatives" (RVA) et que nous devons additionner celles-ci à des membres des structures utilisées pour le PE.
ViewFuckingPe.

Je vous file un peu de doc qui m'a pas mal servis :
cya.