<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Commentaires sur : Problèmes liés aux interruptions</title>
	<atom:link href="http://www.segmentationfault.fr/securite-informatique/problemes-lies-aux-interruptions/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.segmentationfault.fr/securite-informatique/problemes-lies-aux-interruptions/</link>
	<description>Projets d’un consultant en sécurité informatique</description>
	<lastBuildDate>Sat, 22 Aug 2015 12:46:18 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>Par : sloshy</title>
		<link>http://www.segmentationfault.fr/securite-informatique/problemes-lies-aux-interruptions/comment-page-1/#comment-249</link>
		<dc:creator>sloshy</dc:creator>
		<pubDate>Thu, 23 Apr 2009 13:06:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.segmentationfault.fr/?p=609#comment-249</guid>
		<description>Hello,
Merci pour les explications, c&#039;est deja un peu plus claire pour moi ... je penserai au manuel intel juste âpres la bloc de juin.</description>
		<content:encoded><![CDATA[<p>Hello,<br />
Merci pour les explications, c&rsquo;est deja un peu plus claire pour moi &#8230; je penserai au manuel intel juste âpres la bloc de juin.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Emilien Girault</title>
		<link>http://www.segmentationfault.fr/securite-informatique/problemes-lies-aux-interruptions/comment-page-1/#comment-248</link>
		<dc:creator>Emilien Girault</dc:creator>
		<pubDate>Thu, 23 Apr 2009 06:25:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.segmentationfault.fr/?p=609#comment-248</guid>
		<description>Salut,
En effet le principe d&#039;un hook est bien de détourner une interruption en exécutant du code à la place ou avant d&#039;appeler la routine (&lt;em&gt;handler&lt;/em&gt;) de l&#039;OS.
En ce qui concerne le masquage des interruptions, j&#039;ai envie de dire &quot;ça dépend&quot;. Dans certains cas, elles sont masquées automatiquement par le processeur lorsque la routine d&#039;interruption (celle que tu as écrite) est appelée. Cela dépend en fait du descripteur que tu place dans l&#039;IDT. Un descripteur contient non seulement le segment et l&#039;adresse de ta routine, mais aussi des flags décrivant comment gérer l&#039;IF. Il y a trois grands types de descripteurs : les portes d&#039;interruption (&lt;em&gt;interrupt gates&lt;/em&gt;), les portes de trappe (&lt;em&gt;trap gates&lt;/em&gt;), et les portes de tâche &lt;em&gt;task gates&lt;/em&gt;. Ceux-ci sont décrits au chapitre 5.11 du &lt;a href=&quot;http://download.intel.com/design/processor/manuals/253668.pdf&quot; rel=&quot;nofollow&quot;&gt;manuel 3A d&#039;Intel&lt;/a&gt;. Ces trois types de descripteurs définissent comment le masquage des interruptions doit être traité lors de l&#039;appel à la routine. Sous Windows, l&#039;interruption 14 correspondant au défaut de page possède un descripteur de type porte d&#039;interruption, ce qui signifie que les interruptions sont masquées automatiquement quand la routine de traitement du défaut de page est appelée.
Sinon, dans le cas ou les interruptions ne sont pas marquées automatiquement, il est toujours possible de les masquer temporairement à la main avec cli et sti. Cela peut se faire avant l&#039;appel à la routine de l&#039;OS. Mais dans tous les cas, il faut bien veiller à restaurer la valeur du flag d&#039;interruption (IF). Ce que je préconise est de faire un pushf au début ainsi qu&#039;un popf à la fin de la routine (avant d&#039;appeler celle de l&#039;OS) pour être sûr de tout restaurer.</description>
		<content:encoded><![CDATA[<p>Salut,<br />
En effet le principe d&rsquo;un hook est bien de détourner une interruption en exécutant du code à la place ou avant d&rsquo;appeler la routine (<em>handler</em>) de l&rsquo;OS.<br />
En ce qui concerne le masquage des interruptions, j&rsquo;ai envie de dire &laquo;&nbsp;ça dépend&nbsp;&raquo;. Dans certains cas, elles sont masquées automatiquement par le processeur lorsque la routine d&rsquo;interruption (celle que tu as écrite) est appelée. Cela dépend en fait du descripteur que tu place dans l&rsquo;IDT. Un descripteur contient non seulement le segment et l&rsquo;adresse de ta routine, mais aussi des flags décrivant comment gérer l&rsquo;IF. Il y a trois grands types de descripteurs : les portes d&rsquo;interruption (<em>interrupt gates</em>), les portes de trappe (<em>trap gates</em>), et les portes de tâche <em>task gates</em>. Ceux-ci sont décrits au chapitre 5.11 du <a href="http://download.intel.com/design/processor/manuals/253668.pdf" rel="nofollow">manuel 3A d&rsquo;Intel</a>. Ces trois types de descripteurs définissent comment le masquage des interruptions doit être traité lors de l&rsquo;appel à la routine. Sous Windows, l&rsquo;interruption 14 correspondant au défaut de page possède un descripteur de type porte d&rsquo;interruption, ce qui signifie que les interruptions sont masquées automatiquement quand la routine de traitement du défaut de page est appelée.<br />
Sinon, dans le cas ou les interruptions ne sont pas marquées automatiquement, il est toujours possible de les masquer temporairement à la main avec cli et sti. Cela peut se faire avant l&rsquo;appel à la routine de l&rsquo;OS. Mais dans tous les cas, il faut bien veiller à restaurer la valeur du flag d&rsquo;interruption (IF). Ce que je préconise est de faire un pushf au début ainsi qu&rsquo;un popf à la fin de la routine (avant d&rsquo;appeler celle de l&rsquo;OS) pour être sûr de tout restaurer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : sloshy</title>
		<link>http://www.segmentationfault.fr/securite-informatique/problemes-lies-aux-interruptions/comment-page-1/#comment-247</link>
		<dc:creator>sloshy</dc:creator>
		<pubDate>Wed, 22 Apr 2009 23:16:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.segmentationfault.fr/?p=609#comment-247</guid>
		<description>Hello,
J&#039;avoue ne pas avoir toutes les connaissances requises pour bien tout comprendre mais soit le sujet me passionne et depuis un moment deja, donc voici ma question:

tu hooks une interruption, cela sous entend que lorsque l&#039;interruption est declanchee, tu fais un &quot;crocher&quot; par une routine que tu a écrite avant éventuellement exécuter la routine qui était censée s&#039;executer de base, j&#039;ai bon?

Du coup j&#039;aimerai savoir quand le masquage des interruptions s&#039;effectue?
De mon point de vue, si le masquage des interruptions doit se faire, c&#039;est par la routine de l&#039;OS que tu hook justement (et donc tu passes avant elles).

bref, merci de repondre a cette question si le coeur t&#039;en dit.</description>
		<content:encoded><![CDATA[<p>Hello,<br />
J&rsquo;avoue ne pas avoir toutes les connaissances requises pour bien tout comprendre mais soit le sujet me passionne et depuis un moment deja, donc voici ma question:</p>
<p>tu hooks une interruption, cela sous entend que lorsque l&rsquo;interruption est declanchee, tu fais un &laquo;&nbsp;crocher&nbsp;&raquo; par une routine que tu a écrite avant éventuellement exécuter la routine qui était censée s&rsquo;executer de base, j&rsquo;ai bon?</p>
<p>Du coup j&rsquo;aimerai savoir quand le masquage des interruptions s&rsquo;effectue?<br />
De mon point de vue, si le masquage des interruptions doit se faire, c&rsquo;est par la routine de l&rsquo;OS que tu hook justement (et donc tu passes avant elles).</p>
<p>bref, merci de repondre a cette question si le coeur t&rsquo;en dit.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
