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.
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>
<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.
mais enfim esse art. vai ajudar alguns inocentes.
p.s: não interpretem mal achei bom o artigo.