Question:
Comment puis-je voir FS: [0] avec windbg?
Jason
2014-07-16 06:21:23 UTC
view on stackexchange narkive permalink

Il semble que Windows 8 a cassé Ollydbg car plusieurs fonctions ntdll continuent de lancer l'exception 0xC0000008 et de planter mon débogueur.

J'utilise maintenant Windbg. Mais je ne peux pas afficher FS (en particulier FS: [0] ). Comment puis-je obtenir un vidage de FS via Windbg? J'ai essayé de googler en vain. Je suis particulièrement intéressé par SEH, mais tout ce que je peux trouver, c'est le dumping de TEB ou PEB.

0xc0000008 est déclenché par un appel à CloseHandle () avec une valeur de handle non valide, alors qu'un débogueur est présent. Ce n'est pas une exception fatale et c'est une astuce anti-débogage courante. Pourquoi pensez-vous que Windows 8 est responsable?
Le débogage de la même application sous Windows 7 avec le même débogueur ne pose aucun problème. J'ai pensé que c'était quelque chose avec le système d'exploitation.
Trois réponses:
Jason Geffner
2014-07-16 18:15:45 UTC
view on stackexchange narkive permalink

Si vous cherchez à trouver l'adresse de base d'un segment en fonction de son sélecteur, vous pouvez utiliser dg<selector> ; dans ce contexte, vous utiliseriez dg fs :

  0: 000> dg fs P Si Gr Pr LoSel Base Limit Type l ze an es ng Flags ---- - ------- -------- ---------- - - - - - -------- 003B 7ffdf000 00000fff Données RW Ac 3 Bg Par P Nl 000004f3  

Vous pouvez voir ci-dessus que la Base de fs est 7ffdf000 , donc FS: [0] == [7ffdf000] .

  0: 000> db 7ffdf0007ffdf000 1c f7 1d 00 00 00 1e 00-00 f0 1c 00 00 00 00 00. ............... 7ffdf010 00 1e 00 00 00 00 00 00-00 f0 fd 7f 00 00 00 00 ................ 7ffdf020 0c 13 00 00 bc 0f 00 00-00 00 00 00 2c f0 fd 7f ............, ... 7ffdf030 00 a0 fd 7f 00 00 00 00-00 00 00 00 00 00 00 00 ................ 7ffdf040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ............... .7ffdf050 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 7ffdf060 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 00 ..... ........... 7ffdf070 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 00 ................  
john4tech
2014-07-16 12:43:33 UTC
view on stackexchange narkive permalink

La chaîne SEH peut être visualisée dans WinDbg en exécutant la commande ! exchain .

  0: 000>! exchain # affiche la chaîne SEH0012ffb0: wirehark! _except_handler4 + 0 ( 00522555) 0012ffe0: kernel32! _Except_handler3 + 0 (7c839ac0) Portée CRT 0, filtre: kernel32! BaseProcessStart + 29 (7c843882) func: kernel32! BaseProcessStart + 3a (7c843898) Pile d'exceptions non valide à ffffffff   FS: [0]  est le pointeur vers le début de la  chaîne SEH . Vous pouvez parcourir la sortie produite par ! Exchain  pour trouver  FS: [0]  
see ya
2014-07-16 09:52:01 UTC
view on stackexchange narkive permalink

Si vous êtes intéressé par la visualisation de SEH, envisagez d'utiliser pydbg SEH unwinding à ces fins.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...