Pular para o conteúdo

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.
M4iir1c10 M4iir1c10
Hits: 56.009 Categoria: Javascript Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar

Parte 4: 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.

   1. Não seja vítima, defenda-se
   2. ASCII
   3. Hexadecimal e Unicode
   4. O código

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

Rode o Blackbox no Windows XP

Malware, Vírus e Hacking. Estamos seguros usando Linux?

Servidor de Mídia com 128 MB de RAM

Raios de luz explodindo atrás do texto

Entenda o XML - Parte 3

Google AdSense: Técnicas de otimização dos anúncios

Máquina Enigma e encriptação em XOR

Alternativas ao Google - Sites de busca e motores de procura

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

#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

Entre na sua conta para comentar.