
Iniciado por
noneoriente
Hola:
No comprendo porque la gente se esfuerza en intentar mandar un archivo javascript con este tipo de ofuscaciones porque cualquier que entienda un poco de esto sabra que cualquier cosa que el navegador ejecute va a ser posible ver el procedimiento, con un par de simples pasos te puedes quitar el js original sin ofuscacion que es el siguiente:
Código:
//parses a Pando Package URL containing package id and key
function parsePandoUrl(url) {
var enlace="";
var cachos=url.split(' ');
for(var i=0; i<cachos.length; i++) {
enlace=enlace + cachos[i];
}
var parts = enlace.split('?',2);
var args = parts[1];
parts = args.split('&');
// parts = args.split('&');
for(var i=0; i<parts.length; i++) {
//TODO validate package ID and key by length
if(parts[i].match(/^id=[A-Z0-9]*/))
packageId = parts[i].substring(3);
if(parts[i].match(/^key=[A-Z0-9]*/))
packageKey = parts[i].substring(4);
}
}
function showPackage(url) {
parsePandoUrl(url);
PandoAPI.getPackageInfo(packageId,printPackageCallBack,packageKey);
}
//PandoAPI call back function
function printPackageCallBack(packageInfo) {
//Get number of days till expiration (negative = expired)
var days = Math.round( (new Date(packageInfo['expirationDate']) - new Date()) / 86400000);
//store expiration status
var expired = (days >= 0) ? 0 : 1;
//use absolute values of days for a readable string
days = Math.abs(days);
//get title from package info
var title = packageInfo['title'];
if (title.length > 30) {
title = title.substring(0,18) + '...';
}
//id
var id=packageInfo['packageId'];
//key
var key=packageInfo['key'];
//size
var archivos = packageInfo['packageSize']/1000000;
//uploader
var uploader = packageInfo['packager'];
if (uploader.length > 18) {
uploader = uploader.substring(0,14) + '...';
}
//fecha expiracion
var expiracion = packageInfo['expirationDate'];
//generate img tag with thumbnail from package info
var thumb = "<img src='"+ packageInfo['thumbnailURL'] +"' alt='pando bbcode por mercado-negro.org' / height='75' width='75'>";
//generate anchor tag from package URL; assumes packageKey is set
var linktitle = "title=\"" + packageInfo['title'] +" por " +packageInfo['packager']+"\"";
var packageA = "<a href='" + PandoAPI.getPackageURL(packageId,packageKey) + "&tt=S2W'" + linktitle + ">";
//get appropriately pluralized X day(s) string
var daystring = days +' día'+ ( (days > 1) ? ('s') : ('') );
//get # of downloads from package info
var dl = packageInfo['downloads'];
//if package is not expired, link the title and thumbnail to the package URL
// and set the expiration days string accordingly
if(!expired) {
title = packageA + title + '</a>';
thumb = packageA + thumb + '</a>';
days = '<span style="color: green;">'+ daystring +'</span>';
//otherwise, do not link the title/thumbnail, and set expiration string accordingly
}
else if (!packageInfo['expirationDate']) {
days = '<span style="color: red;">Expirado</span>'
title = packageA + title + '</a>';
thumb = packageA + thumb + '</a>';
}
else {
days = '<span style="color: green;"><strong>Nunca</span></strong>';
}
//generate human-friendly Downloaded X times / Never Download string
if(dl > 0)
dlstring = 'Descargado <strong>'+dl+'</strong> ocasion'+( (dl > 1) ? ('es') : ('') );
else
dlstring = '<b>Nunca descargado</b>';
//write out the package preview
out = ("<table class='pandopackage'><tr><td align='center' colspan='2'><span class='ptitle'><b>"+ title +"</b></span></td></tr><tr><td valign='center' align='center' class='packagethumb'>"+ thumb +"</td><td valign='center' class='packagemeta'>"+ dlstring +"<br /><b>Expira en:</b> "+ days +" <br/><b>Uploader:</b> "+ uploader +" <br/><b>Tamaño:</b> "+ archivos.toFixed(2) +" MB<br /></td></tr><tr><td align='center' colspan='2'><a href='http://www.mercado-negro.net' target='_blank'>©</a><a href=http://cache.pando.com/soapservices/SendToWeb?action=info&format=xml&id="+ id +"&key="+ key +" target='_blank'> Más información</a></td></tr></table>");
document.write(out);
}
Ahi tienes la posibilidad de cambiar lo que consideres, diseño, etc. Adaptalo a tus necesidades. Espero que te sirva.
Un saludo