Codificação e decodificação entre ASCII, hexadecimal e unicode

Sabemos que não existe vírus para Linux, mas existem crackers prontos para invadir qualquer sistema. Defenda-se desvendando mais um dos mistérios dessa turma da codificação e decodificação.

[ Hits: 54.142 ]

Por: M4iir1c10 em 01/06/2007 | Blog: https://github.com/mauricioph


O código



E aqui finalmente está o código que vai encriptar ou desencriptar as frases desejadas de ASCII para hexa e unicode ou de hexa e unicode para ASCII. Salve-o com um nome de sua preferência, trata-se de um arquivo HTML.

<html>
<head>
<title>Mauricio ASCII - HEXA - UNICODE</title>
<script language="javascript" type="text/javascript">
<!--

function decode(){
  if(document.forms[0].hex.value != ''){
        var vText = document.forms[0].hex.value;
        document.forms[0].ascii.value = unescape(vText);
  }
}

function encode(){
  if(document.forms[0].ascii.value != ''){
     var vText = document.forms[0].ascii.value;
     document.forms[0].hex.value = convertToHex(vText);
         var vEncoded = convertToUnicode(vText);
     document.forms[0].unicode.value = vEncoded;
         document.getElementById("unicodeHTML").innerHTML = vEncoded;
document.forms[0].ascii.focus();
document.forms[0].ascii.blur();
document.forms[0].ascii.select();
  }
}



function convertToUnicode(source) {
  result = '';
  for (i=0; i<source.length; i++)
    result += '&#' + source.charCodeAt(i) + ';';
  return result;
}

              
function convertToHex(num) {
  var hex = '';
  for (i=0;i<num.length;i++)
    hex += "%" + num.charCodeAt(i).toString(16).toUpperCase();
  return hex;
}



/* ************************************************* */

function convertToASCII() {
if (document.forms[0].unicode.value != '') {
var uniText = document.forms[0].unicode.value;
var testText = uniText.substring(2,uniText.length-1).split(";&#")
var resultString = ""
for (i=0;i<testText.length;i++)
resultString += "%" + dec2hex(testText[i])
document.forms[0].ascii.value = unescape(resultString);
}
}

function dec2hex(n){
var hex = "0123456789ABCDEF";
var mask = 0xf;
var retstr = "";
while(n != 0){
retstr = hex.charAt(n&mask) + retstr;
n>>>=4;
}

return retstr.length == 0 ? "0" : retstr;
}

/* ************************************************* */



//-->
</script>
</head>

<body>

<h1>Conversor de ASCII para Hexadecimal e Unicode  </h1>
<p> </p>
Um javascript para converter ASCII para Hexadecimal e Unicode
<form name="blah" action="">
<br />

<b>Texto em ASCII:</b><br />
<input type="text" name="ascii" size="75" /> <input type="button" value="Codificar" onClick="encode()" />
<br /><br /><br />
<b>Valor em Hex:</b><br />
<input type="text" name="hex" size="75" /> <input type="button" value="Decodificar Hex-ASCII" onClick="decode()" />
<br /><br /><br />
<b>Valor em Unicode:</b><br />
<input type="text" name="unicode" size="75" />
 <input type="button" value="Decodificar Unicode-ASCII" onClick="convertToASCII()" />
<br />
Unicode aparecera em HTML como: <span id="unicodeHTML"></span>
<br />
<br /><br />
<input type="reset" value="Apagar" onClick="document.getElementById('unicodeHTML').innerHTML = ''" />

</form>

<div align="center"><br />
  2007 Ω Copyleft.
  Mauricio Luis de Medeiros.<br />
  <br />
  <br />
  <br />
  <br />
</div>
</body>
</html>

Download do código: conversor.html.txt

Conclusão

É isso aí pessoal, lembre-se quando você receber um link em hexa, desconfie, use esse script para "traduzir" o que está escrito e saber se a pessoa que te mandou está interessada em algo no seu computador.

Se alguém tem dúvidas, por favor poste para que eu possa ajudá-lo, comente o que você achou do artigo.

Página anterior    

Páginas do artigo
   1. Não seja vítima, defenda-se
   2. ASCII
   3. Hexadecimal e Unicode
   4. O código
Outros artigos deste autor

Servidor de Mídia com 128 MB de RAM

Instalando e configurando um dock igual ao Mac Leopard no KDE

GRUB com imagens aleatórias e KDM com vídeo de fundo

Rode o Blackbox no Windows XP

Colocando Windows, Linux e Mac Os X em um mesmo PC

Leitura recomendada

Máquina Enigma e encriptação em XOR

Instalando Adobe Flash 10 em distros amd64 (Ubuntu, Mandriva, Fedora)

Senhas seguras: algumas técnicas e script para teste

Alternativas ao Google - Sites de busca e motores de procura

Camada de Transporte TCP/IP e Aplicação

  
Comentários
[1] Comentário enviado por kenshisk em 01/06/2007 - 12:38h

Ainda não entendo de javascritp então não posso comentar sobre o código mais na minha opinião alguem que executa algum código sem conhecer merece se ferrar, meu como pode executar algo que não conhece?
mais enfim esse art. vai ajudar alguns inocentes.
p.s: não interpretem mal achei bom o artigo.

[2] Comentário enviado por sclinux em 01/06/2007 - 14:40h

Parabéns pelo artigo. Muitas vezes caracteres codificados podem ser usados para "burlar" bloqueios efetuados por proxy.

[3] Comentário enviado por shocker em 03/06/2007 - 13:32h

Excelente artigo. Parabéns.

[4] Comentário enviado por evertonrs em 03/06/2007 - 21:15h

Eu acho que não tem como saber se a pessoa é do bem ou é do mal..
uma coisa é certa, sistemas hexadecimais e unicodes é mto bom..
eu amo essa parte, me interesso mto..
em fim.. mto bom esse script... valew mauricio

[5] Comentário enviado por TSM em 02/10/2007 - 15:13h

Cara sua dica vai ser muito util, valeu.

Abraços

[6] Comentário enviado por Teixeira em 20/10/2007 - 20:11h

É uma pena que "a meninada" que usa orkut, msn e outros que tais, geralmente não tenha acesso a (ou não se interesse por) artigos como esse e continue a abrir tudo quanto encontra pela frente.
Parabéns. Vou testar.

[7] Comentário enviado por edphp em 06/02/2009 - 23:36h

Parabéns pela iniciativa de ajudar pessoas que não sabem muito sobre o que um link pode fazer, ainda aproveitando para explicar coisas básicas sobre informática, mas que usuários mais novos e alguns velhos não conheçem.
Mas como todo ato bom tem sua parte má, pode ser que outas pessoas usem isso, mas creio que o pessoal aqui deve ser gente boa, talvez no máximo a idéia de executar um script ao clicar num link.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts