<?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>Archives des PegaSwitch - Custom Protocol</title>
	<atom:link href="https://www.customprotocol.com/tags/pegaswitch/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.customprotocol.com/tags/pegaswitch/</link>
	<description>Site d&#039;hack-tualité et de tutoriels sur la customisation de consoles et appareils (homebrews, plugins, émulation...)</description>
	<lastBuildDate>Thu, 22 Jun 2017 17:36:00 +0000</lastBuildDate>
	<language>fr-CA</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>[Switch] La Team ReSwitched annonce connaître des vulnérabilités sur le dernier firmware 3.0</title>
		<link>https://www.customprotocol.com/switch-team-reswitched-annonce-connaitre-vulnerabilites-dernier-firmware-3-0/</link>
					<comments>https://www.customprotocol.com/switch-team-reswitched-annonce-connaitre-vulnerabilites-dernier-firmware-3-0/#comments</comments>
		
		<dc:creator><![CDATA[Wirus]]></dc:creator>
		<pubDate>Thu, 22 Jun 2017 17:36:00 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[News Underground]]></category>
		<category><![CDATA[Outils]]></category>
		<category><![CDATA[Underground]]></category>
		<category><![CDATA[PegaSwitch]]></category>
		<guid isPermaLink="false">https://www.customprotocol.com/?p=13362</guid>
					<description><![CDATA[<p>Le toolkit PegaSwitch fonctionne toujours sur le dernier firmware 3.0.0 de la Switch, via un exploit gardé secret par la Team ReSwitched.</p>
<p>L’article <a rel="nofollow" href="https://www.customprotocol.com/switch-team-reswitched-annonce-connaitre-vulnerabilites-dernier-firmware-3-0/">[Switch] La Team ReSwitched annonce connaître des vulnérabilités sur le dernier firmware 3.0</a> est apparu en premier sur <a rel="nofollow" href="https://www.customprotocol.com">Custom Protocol</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">Il y a quelques jours, <em>Nintendo</em> mettait en ligne une nouvelle version 3.0.0 du <em>firmware</em> de son bébé, la Switch, <a href="https://www.gamergen.com/actualites/nintendo-switch-nintendo-mise-jour-changelog-firmware-3-0-0-283650-1" target="_blank" rel="noopener noreferrer">ajoutant pléthore de nouvelles fonctionnalités</a>. Pourtant, la <em>Team ReSwitched</em>, à l'origine du <a href="https://www.customprotocol.com/underground/switch-pegaswitch-toolkit-exploit-webkit-developpeurs/" target="_blank" rel="noopener noreferrer"><em>PegaSwitch</em></a>, vient d'annoncer qu'elle aurait trouvé des <strong>vulnérabilités</strong> dans des <em>bugs</em> rendant leur outil de piratage (appelé <strong>PegaSwitch</strong>) compatible avec le dernier <em>firmware</em>...</p>
<figure id="attachment_13363" aria-describedby="caption-attachment-13363" style="width: 764px" class="wp-caption aligncenter"><a href="https://www.customprotocol.com/medias/2017/06/hack-switch-vignette-simple.png"><img fetchpriority="high" decoding="async" class="size-large wp-image-13363" src="https://www.customprotocol.com/medias/2017/06/hack-switch-vignette-simple-764x430.png" alt="" width="764" height="430" /></a><figcaption id="caption-attachment-13363" class="wp-caption-text"><b>Hack</b> Nintendo Switch</figcaption></figure>
<hr />
<p style="text-align: justify;"><a href="https://www.customprotocol.com/underground/switch-pegaswitch-toolkit-exploit-webkit-developpeurs/" target="_blank" rel="noopener noreferrer">Pour rappel</a>&nbsp;:</p>
<p style="text-align: justify;"><div align="justify" class="signoff"><i class="fa fa-fw fa-info-circle"></i><strong>PegaSwitch</strong> est un <em>toolkit </em>(boîte à outils en français) destiné aux développeurs pirates. Il permet d’ores et déjà de lire/écrire dans la mémoire, appeler des fonctions natives et explorer les fonctionnalités de la Switch à partir du processus <em>WebKit</em>. Il ne permet pas encore de coder des <em>homebrews</em>, mais a surtout été conçu pour permettre à d’autres <em>hackers</em> de travailler ensemble vers cet objectif.</p>
<p style="text-align: justify;"><strong>PegaSwitch</strong> fonctionne toujours sur toutes les Switch dont le firmware est compris entre 1.0 et 2.0 (voir notre <a href="https://www.customprotocol.com/underground/switch-pegaswitch-toolkit-exploit-webkit-developpeurs/" target="_blank" rel="noopener noreferrer">mini-tutoriel d'utilisation</a>), mais a été patché à partir de la version 2.1.0 du <em>firmware</em>.</div>
<p style="text-align: justify;">Grâce au travail acharné des membres de la <em>Team ReSwitched</em>, qui avaient annoncé avoir trouvé un moyen de faire marcher<strong> PegaSwitch</strong> sur le <em>firmware</em> 2.3 (le dernier en date à l'époque de l'annonce), le <em>toolkit</em> serait fonctionnel sur le <strong>nouveau firmware 3.0</strong> de la Switch, bien que ce dernier corrige certaines failles tout de même. L'équipe aurait simplement ré-utilisé l'<em>exploit</em> secret qu'elle avait trouvé sur la version 2.3, ce qui signifie donc que <em>Nintendo</em> n'aurait pas encore réussi à trouver les <strong>vulnérabilités</strong> exploitées par la <em>Team</em>...</p>
<div align="center">
<blockquote class="twitter-tweet" data-lang="fr">
<p dir="ltr" lang="en">Our bugs for Switch 2.0-2.3 PegaSwitch work on 3.0. Feel free to update; Homebrew will be safe. (When the time comes)&nbsp;<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://twitter.com/hashtag/reswitched?src=hash">#reswitched</a></p>
<p>— Cody Brocious (@daeken) <a href="https://twitter.com/daeken/status/876965449837293570">20 juin 2017</a></p>
</blockquote>
<p><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
</div>
<p style="text-align: justify;"><em>Daeken</em>, l'un des membres de l'équipe de pirates, a annoncé sur <em>Twitter</em> que tous les possesseurs de Switch pouvaient faire la mise à jour sans crainte, que les <em>homebrews</em> étaient en «&nbsp;sécurité&nbsp;» et qu'il ne restait plus qu'à attendre jusqu'au «&nbsp;moment venu&nbsp;». Aucune indication de temps précise pour l'instant, donc (dites-vous qu'il a fallu attendre 4 ans avant qu'un «&nbsp;vrai&nbsp;» hack arrive sur PS Vita...&nbsp;:P). Toutefois, si <em>Nintendo</em> arrivait à <em>patcher</em> les <strong>vulnérabilités</strong> utilisées, la <em>Team ReSwitched</em> a promis qu'elle partagerait publiquement leur <em>exploit</em>.</p>
<p style="text-align: justify;">Bref, le traditionnel <em>wait &amp; see</em> est de mise là aussi... Ah et un conseil&nbsp;: si vous êtes vraiment plus intéressé par le <em>hack</em> ou la customisation que par les jeux ou le multijoueur en ligne, on vous conseille de garder le <em>firmware</em> le plus bas possible.&#8239;;)</p>
<p style="text-align: justify;">Sur ce... <em>Wait &amp; See</em>&#8239;!</p>
<p>L’article <a rel="nofollow" href="https://www.customprotocol.com/switch-team-reswitched-annonce-connaitre-vulnerabilites-dernier-firmware-3-0/">[Switch] La Team ReSwitched annonce connaître des vulnérabilités sur le dernier firmware 3.0</a> est apparu en premier sur <a rel="nofollow" href="https://www.customprotocol.com">Custom Protocol</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.customprotocol.com/switch-team-reswitched-annonce-connaitre-vulnerabilites-dernier-firmware-3-0/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>[Switch] PegaSwitch&#160;: un toolkit d&#8217;exploit WebKit pour les développeurs</title>
		<link>https://www.customprotocol.com/switch-pegaswitch-toolkit-exploit-webkit-developpeurs/</link>
					<comments>https://www.customprotocol.com/switch-pegaswitch-toolkit-exploit-webkit-developpeurs/#comments</comments>
		
		<dc:creator><![CDATA[Wirus]]></dc:creator>
		<pubDate>Thu, 16 Mar 2017 12:33:19 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[News Underground]]></category>
		<category><![CDATA[Outils]]></category>
		<category><![CDATA[Underground]]></category>
		<category><![CDATA[PegaSwitch]]></category>
		<guid isPermaLink="false">https://www.customprotocol.com/?p=12756</guid>
					<description><![CDATA[<p>La Team ReSwitched vient de concocter PegaSwitch, une jolie boîte d'outils pour les développeurs, exploitant une faille WebKit de la Switch.</p>
<p>L’article <a rel="nofollow" href="https://www.customprotocol.com/switch-pegaswitch-toolkit-exploit-webkit-developpeurs/">[Switch] PegaSwitch&nbsp;: un toolkit d&#8217;exploit WebKit pour les développeurs</a> est apparu en premier sur <a rel="nofollow" href="https://www.customprotocol.com">Custom Protocol</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">Les <em>hackers</em> sont toujours prêts, dès la sortie d'une nouvelle console, à trifouiller et bidouiller jusqu'aux moindres recoins afin de trouver et exploiter des failles. Le bébé de <em>Nintendo</em>, la Switch, ne déroge pas à la règle&nbsp;: alors qu'une <a href="https://www.customprotocol.com/underground/switch-nintendo-switch-deja-hackee-huit-jours-apres-sortie/" target="_blank" rel="noopener noreferrer">faille <em>WebKit</em> vient d'être trouvée</a>, voilà que la <em>Team ReSwitched</em> publie déjà son <em>toolkit</em> (boîte à outils), destinés aux développeurs expérimentés souhaitant profiter et utiliser l'<em>exploit WebKit</em>.</p>
<figure id="attachment_12757" aria-describedby="caption-attachment-12757" style="width: 764px" class="wp-caption aligncenter"><a href="https://www.customprotocol.com/medias/2017/03/pegaswitch-exploit-webkit-toolkit-developpeurs-hackers-logo-vignette.png"><img decoding="async" class="size-large wp-image-12757" src="https://www.customprotocol.com/medias/2017/03/pegaswitch-exploit-webkit-toolkit-developpeurs-hackers-logo-vignette-764x490.png" alt="" width="764" height="490" /></a><figcaption id="caption-attachment-12757" class="wp-caption-text">Logo de <b>PegaSwitch</b></p>
<p><em><a href="https://pegaswitch.com/" target="_blank" rel="noopener noreferrer">Crédit image&nbsp;: Team ReSwitched</a></em></figcaption></figure>
<hr />
<p style="text-align: justify;">Comme expliqué plus haut, <strong>PegaSwitch</strong> est un <em>toolkit </em>(boîte à outils en français) pour les développeurs. Il permet d'ores et déjà de lire/écrire dans la mémoire, appeler des fonctions natives et explorer les fonctionnalités de la Switch à partir du processus <em>WebKit</em>. Il ne permet pas encore de coder des <em>homebrews</em>, mais a surtout été conçu pour permettre à d'autres <em>hackers</em> de travailler ensemble vers cet objectif.</p>
<h4 style="text-align: justify;"><strong><span style="text-decoration: underline;">Installation</span></strong></h4>
<p style="text-align: justify;">Installez <em>Node</em>, <em>Python 2.7</em> et <em>Ruby</em>.</p>
<p style="text-align: justify;">Ouvrez les ports <em>UDP 53</em> ainsi que <em>TCP 80</em> et <em>8100</em> dans le pare-feu.</p>
<p style="text-align: justify;">Lancez <em>npm install</em>, <em>pip2 install flask</em>, <em>gem install rubydns</em>.</p>
<p style="text-align: justify;">Démarrez le serveur DNS avec la commande suivante&nbsp;: (<em>drop sudo</em> pour Windows)&nbsp;:</p>
<pre class="lang:sh decode:true">sudo ruby rdns.rb&nbsp;$yourlocalIP</pre>
<p style="text-align: justify;">Lancez le serveur <em>web</em>&nbsp;:</p>
<pre class="lang:sh decode:true">sudo python serve.py</pre>
<p style="text-align: justify;">Lancez <em>watchify </em>:</p>
<pre class="lang:sh decode:true">npm start</pre>
<p style="text-align: justify;">Démarrez le <em>shell</em> avec&nbsp;:</p>
<pre class="lang:sh decode:true">node debug.js</pre>
<p style="text-align: justify;">Pointez votre Switch vers le serveur DNS.</p>
<p style="text-align: justify;">Accédez à l'<em>eShop</em> pour déclencher le portail captif.</p>
<p style="text-align: justify;">Regardez la connexion au <em>shell</em>.</p>
<h4 style="text-align: justify;"><strong><span style="text-decoration: underline;">Utilisation</span></strong></h4>
<p style="text-align: justify;">La manière par défaut de travailler avec <strong>PegaSwitch</strong> se fait via le <em>shell</em>. Tapez <em>help</em> une fois que la Switch sera connectée pour obtenir une liste des commandes disponibles.</p>
<figure id="attachment_12760" aria-describedby="caption-attachment-12760" style="width: 500px" class="wp-caption aligncenter"><a href="https://www.customprotocol.com/medias/2017/03/pegaswitch-shell-help-commande.png"><img decoding="async" class="size-medium wp-image-12760" src="https://www.customprotocol.com/medias/2017/03/pegaswitch-shell-help-commande-500x263.png" alt="" width="500" height="263" /></a><figcaption id="caption-attachment-12760" class="wp-caption-text">Voilà ce que vous devriez voir en lançant la commande <em>help</em> dans le <em>shell</em> de <b>PegaSwitch</b></figcaption></figure>
<p style="text-align: justify;">Pour désactiver le <em>shell</em> (et travailler simplement avec l'<em>API</em>), commentez la ligne suivante dans le fichier "exploit/main.js"&nbsp;:</p>
<pre class="lang:sh decode:true">setupListener(sc);</pre>
<h4 style="text-align: justify;"><strong><span style="text-decoration: underline;">API</span></strong></h4>
<h5 style="text-align: justify;"><a id="user-content-conventions" class="anchor" href="https://github.com/reswitched/PegaSwitch#conventions"></a><strong><span style="text-decoration: underline;">Conventions</span></strong></h5>
<p style="text-align: justify;">Les valeurs de <em>64 bits</em> (les pointeurs, principalement) sont représentées par un tableau <em>JavaScript</em> contenant <em>[lo, hi]</em>, où chacun fait 32 <em>bits</em>.</p>
<h5 style="text-align: justify;"><strong><span style="text-decoration: underline;">Fonctions utilitaires</span></strong></h5>
<ul style="text-align: justify;">
<li><code>paddr(address)</code> -- Convertit une valeur de <em>64 bits</em> en hexadécimal</li>
<li><code>add2(a, b)</code> -- Ajoute deux valeurs de <em>64 bits</em> ou ajoute une valeur de <em>64 bits</em> plus  un nombre</li>
<li><code>nullptr(address)</code> -- Retourne <em>true</em> si le valeur de <em>64 bits</em> donnée vaut 0</li>
<li><code>eq(a, b)</code> -- Retourne <em>true</em> si les deux valeurs de <em>64 bits</em> sont égales</li>
<li><code>parseAddr(address)</code> -- Prend une chaîne de caractères hexadécimale et le <em>parse</em> en une valeur de <em>64 bits'</em></li>
</ul>
<h5 style="text-align: justify;"><a id="user-content-sploitcore" class="anchor" href="https://github.com/reswitched/PegaSwitch#sploitcore"></a><strong><span style="text-decoration: underline;">SploitCore</span></strong></h5>
<p style="text-align: justify;"><em>SploitCore</em> est le point central de <strong>PegaSwitch</strong>, fournissant toutes les fonctionnalités de base et la partie la plus importante de l'<em>API</em>.</p>
<ul>
<li><code>dumpaddr(address, count)</code> -- Prend une adresse et un nombre de <em>32 bits</em> pour se connecter</li>
<li><code>read4(address, offset)</code> -- Lit une valeur de <em>32 bits</em> depuis <code>address&nbsp;+&nbsp;offset * 4</code></li>
<li><code>read8(address, offset)</code> -- Lit une valeur de <em>64 bits</em> depuis <code>address&nbsp;+&nbsp;offset * 4</code></li>
<li><code>write4(value, address, offset)</code> -- Écrit une valeur de <em>32 bits</em> vers <code>address&nbsp;+&nbsp;offset * 4</code></li>
<li><code>write8(value, address, offset)</code> -- Écrit une valeur de <em>64 bits</em> vers <code>address&nbsp;+&nbsp;offset * 4</code></li>
<li><code>memview(address, size, cb)</code> -- Appelle<em> </em><code>cb</code> avec un <em>ArrayBuffer</em> pointant vers la "vue" de la mémoire demandée. NE GARDEZ PAS cette vue ou tout objet l'utilisant autour, ou vous allez remplir le GC et bloquer votre Switch</li>
<li><code>getAddr(obj)</code> -- Retourne l'adresse d'un objet <em>JavaScript</em> <code>donné</code></li>
<li><code>mref(offset)</code> -- Retourne l'adresse du module principal (le binaire de l'application lui-même) plus l'<em>offset</em> (de <em>32 bits</em>) donné</li>
<li><code>getBase()</code> -- Retourne l'adresse de base de <em>WebKit</em></li>
<li><code>getSP()</code> -- Retourne le pointeur <em>stack</em> actuel (<span id="result_box" class="short_text" lang="fr"><span class="">actuel comme un appel de fonction en JS</span></span>), principalement utiles pour les chaînes <em>JOP</em>/<em>ROP</em></li>
<li><code>malloc(bytes)</code> -- Retourne l'addresse d'un <em>buffer</em> alloué</li>
<li><code>free(addr)</code> -- Libère (<em>free</em>) un <em>buffer</em> alloué</li>
<li><code>bridge</code> and <code>call</code> -- Documentation plus bas</li>
<li><code>svc(id, registers, dump_regs)</code> -- Appelle un SVC spécifique, en passant un tableau de registres et optionnellement en <em>dumpant</em> tous les registres (mettre <code>dump_regs</code> sur <em>true</em> ou <em>false</em>)</li>
<li><code>getTLS()</code> -- <span id="result_box" class="short_text" lang="fr"><span class="">Obtient l'adresse de TLS</span></span></li>
<li><code>str2buf(str)</code> -- <span id="result_box" class="" lang="fr"><span class="">Alloue un <em>buffer</em> pour une chaîne terminée par un <em>null</em> et retourne l'adresse</span></span></li>
<li><code>readString(addr, length)</code> -- Lit une chaîne de caractères depuis <code>addr</code>. Si la longueur <code>length</code> n'est pas passée en argument ou vaut -1, la fonction s'attend à ce que la chaîne de caractère soit terminée par un <em>null</em></li>
<li><code>gc()</code> -- Force le "ramassage des ordures" (<em>garbage collection</em>).</li>
</ul>
<h5><a id="user-content-call" class="anchor" href="https://github.com/reswitched/PegaSwitch#call"></a><strong><span style="text-decoration: underline;">Call</span></strong></h5>
<p><code>sploitcore.call</code> permet d'appeler des fonctions natives avec l'adresse. Il prend les paramètres suivants, le premier étant toujours nécessaire&nbsp;:</p>
<ul>
<li><code>address</code> - L'adresse de la fonction. Soit un <em>offset</em> de <em>32 bits</em> de l'adresse du module principal, soit un pointeur absolu de <em>64 bits</em></li>
<li><code>args</code> - Un tableau d'arguments, qui ira dans <em>x0+</em></li>
<li><code>fargs</code> - Un tableau de nombres <em>float</em>, qui ira dans <em>d0+</em></li>
<li><code>registers</code> - Un tableau de registres bruts (<em>x16</em> et <em>x30</em> ne sont pas assignables)</li>
<li><code>dump_regs</code> - Un booléen pour définir si les registres doivent être <em>dumpés</em> au retour.</li>
</ul>
<p>Cette fonction retourne toujours la valeur de <em>64 bits</em> dans in <em>x0</em>.</p>
<h5><a id="user-content-bridge" class="anchor" href="https://github.com/reswitched/PegaSwitch#bridge"></a><span style="text-decoration: underline;"><strong>Bridge</strong></span></h5>
<p><em>Bridge</em> vous permet d'envelopper une fonction native dans une fonction <em>JavaScript</em>. Exemple&nbsp;:<code> </code></p>
<pre class="lang:js decode:true">var strlen&nbsp;=&nbsp;sc.bridge(0x43A6E8, int, char_p);
log(strlen('foo')); // Logs 3 to the console</pre>
<p>Le premier paramètre est l'adresse (même format que <em>call</em>), le second est le type de la valeur de retour, le reste sont les arguments.</p>
<p>Voici les types valides&nbsp;:</p>
<ul>
<li><code>null</code> -- Utilisé pour les fonctions de type <em>void</em></li>
<li><code>int<br /></code></li>
<li><code>void_p</code> -- <span id="result_box" class="short_text" lang="fr"><span class="">Pointeur arbitraire</span></span></li>
<li><code>char_p</code> -- Pointeur sur chaîne de caractères</li>
<li><code>float</code> -- Argument flottant (actuellement uniquement pris en charge pour les arguments, pas pour les retours).</li>
</ul>
<h4 style="text-align: justify;"><span style="text-decoration: underline;"><strong>Crédits</strong></span></h4>
<ul>
<li style="text-align: justify;"><em>Daeken</em>&#8239;;</li>
<li style="text-align: justify;"><em>Dazzozo</em>&#8239;;</li>
<li style="text-align: justify;"><em>SciresM</em>&#8239;;</li>
<li style="text-align: justify;"><em>yupferris</em>&#8239;;</li>
<li style="text-align: justify;"><em>SomeoneWeird</em>&#8239;;</li>
<li style="text-align: justify;"><em>Normmatt</em>&#8239;;</li>
<li style="text-align: justify;"><em>crowell</em>&#8239;;</li>
<li style="text-align: justify;"><em>Jaames</em>&#8239;;</li>
<li style="text-align: justify;"><em>shutterbug2000</em>&#8239;;</li>
<li style="text-align: justify;">Et bien d'autres de la <em>Team ReSwitched</em>...</li>
</ul>
<p>L’article <a rel="nofollow" href="https://www.customprotocol.com/switch-pegaswitch-toolkit-exploit-webkit-developpeurs/">[Switch] PegaSwitch&nbsp;: un toolkit d&#8217;exploit WebKit pour les développeurs</a> est apparu en premier sur <a rel="nofollow" href="https://www.customprotocol.com">Custom Protocol</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.customprotocol.com/switch-pegaswitch-toolkit-exploit-webkit-developpeurs/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>

