Ver Mensaje Individual
  #9 (permalink)  
Antiguo 12/05/2005, 20:18
ilichmx
 
Fecha de Ingreso: noviembre-2004
Mensajes: 38
Antigüedad: 19 años, 5 meses
Puntos: 0
Haber.... vamos por pasos...

por lo visto se la ingeniaron bien para crear variables variables... y sobre todo usar bien... por ejemplo muchas funciones estan bien puestas es decir estan bien escritas con sus respetivos salto de lineas... las funciones principales... estan escritas en una sola linea corrida para que su intepretacion sea muy dificil...

Bueno despues de un rato desglose esa funcion...

aqui esta...

PD disculpen si no esta bien desglosado pero como usaron IF y FOR sin las { } con solo el tabulador para no arruinar la funcion...





Lo gracioso es que pusieron un funcion on_load() para despistarnos...
lo segundo usaron variables para almacenar funciones....
lo tercerlo usaron la tipica variable clave

Código:
var mi_varible_maestra = {};

mi_variable_maestra.variable_primaria = 0
mi_variable_maestra.variable_secudaria = "0"
mi_variable_maestra.variable_tercera = "esto es un demo"
mi_variable_maestra.variable_cuarta = function ver_clave(N,M){ codigo }
asi lo hicieron para que no todo estuviera a la vista...

pero bueno.... la variable esta es la que guarda

Código:
dw_Inf.ar=[65,32,108,105,99,101,110,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,102,111,114,32,97,108,108,32,98,117,116,32,112,101,114,115,111,110,97,108,32,117,115,101,32,111,102,32,116,104,105,115,32,99,111,100,101,46,32,83,101,101,32,84,101,114,109,115,32,111,102,32,85,115,101,32,97,116,32,100,121,110,45,119,101,98,46,99,111,109];
parte de su codigo de seguridad

ahora esta

Código:
this.load(lyrId,cntId);
como esta, hace referencia al evento de cargar... no la pagina, si no que al momento que se carga la funcion en memoria del navegador es cuando se ejecuta la funcion dada

Código:
if(dw_scrollObjs[wnId])dw_scrollObjs[wnId].load(id,cntId);};
dw_scrollObj.prototype.load=function(lyrId,cntId)
en este caso lo hicieron un prototype

en otra ocacion les comento que es un prototype, sus usos y sus ventajas...

Bueno la segunda parte y la importante de su seguridad es

Código:
dw_Inf.fn('\x69\x66\x28\x21\x28\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x3d\x3d\x22\x22\x7c\x7c\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x3d\x3d\x22\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31\x22\x7c\x7c\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x3d\x3d\x22\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x22\x7c\x7c\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\x22\x64\x79\x6e\x2d\x77\x65\x62\x2e\x63\x6f\x6d\x22\x29\x21\x3d\x2d\x31\x29\x29\x61\x6c\x65\x72\x74\x28\x64\x77\x5f\x49\x6e\x66\x2e\x6d\x67\x29\x3b');
aqui lo que tratan de hacer con la funcion fromCharCode junto con el

Código:
dw_Inf.ar=[65,32,108,105,99,101,110,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,102,111,114,32,97,108,108,32,98,117,116,32,112,101,114,115,111,110,97,108,32,117,115,101,32,111,102,32,116,104,105,115,32,99,111,100,101,46,32,83,101,101,32,84,101,114,109,115,32,111,102,32,85,115,101,32,97,116,32,100,121,110,45,119,101,98,46,99,111,109];
es extraer los caracteres de codigo de forma binaria y atraves de variables variables "como me gusta este termino VV", es extraer la funcion que verifica si tiene licencia bajo una serie... y comprobarla... con una condicion y asi sacar su alert, si no hay licencia...


por que esta esta funcion... para despistarnos... tambien

Código:
dw_Inf.x0=function(){
		dw_Inf.fn('\x69\x66\x28\x21\x28\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x3d\x3d\x22\x22\x7c\x7c\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x3d\x3d\x22\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31\x22\x7c\x7c\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x3d\x3d\x22\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x22\x7c\x7c\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\x22\x64\x79\x6e\x2d\x77\x65\x62\x2e\x63\x6f\x6d\x22\x29\x21\x3d\x2d\x31\x29\x29\x61\x6c\x65\x72\x74\x28\x64\x77\x5f\x49\x6e\x66\x2e\x6d\x67\x29\x3b');
		dw_Inf.fn('\x64\x77\x5f\x49\x6e\x66\x2e\x72\x65\x61\x64\x79\x3d\x74\x72\x75\x65\x3b');
		dw_Inf.fn('\x64\x77\x5f\x73\x63\x72\x6f\x6c\x6c\x4f\x62\x6a\x2e\x73\x63\x72\x64\x79\x3d\x74\x72\x75\x65\x3b');
	};
como veran se declara 3 veces la misma con diferente valores... cuando examine el codijo no vi ninguna llamada a esa funcion... bueno tambien lo hice rapido quizas se me fueron unas lineas

Bueno como ya es noche me despido cuando tenga tiempo tradusco la binario para que podamos ver su IF desactivar lu alert, o poner su dichosa licencia...

una cosa que si les admiro que le pusieron muchas cosas para distraer y para desesperar rapido a las personas... con un poco de calma podemos desativar su licencia...

bueno me despido y suerte...

PD codigo medio desglosado...

Código:
dw_scrollObjs = {};
dw_scrollObj.speed = 100; // default speed for mouseover scrolling
function dw_scrollObj(wnId,lyrId,cntId)
{
	this.id=wnId;
	dw_scrollObjs[this.id]=this;
	this.animString="dw_scrollObjs."+this.id;
	this.load(lyrId,cntId);
};
dw_scrollObj.loadLayer=function(wnId,id,cntId)
{
	if(dw_scrollObjs[wnId])dw_scrollObjs[wnId].load(id,cntId);};
dw_scrollObj.prototype.load=function(lyrId,cntId)
{
	if(!document.getElementById)return;
	var wndo,lyr;
	if(this.lyrId){lyr=document.getElementById(this.lyrId);lyr.style.visibility="hidden";}
	lyr=document.getElementById(lyrId);
	wndo=document.getElementById(this.id);
	lyr.style.top=this.y=0;
	lyr.style.left=this.x=0;
	this.maxY=(lyr.offsetHeight-wndo.offsetHeight>0)?lyr.offsetHeight-wndo.offsetHeight:0;
	this.wd=cntId?document.getElementById(cntId).offsetWidth:lyr.offsetWidth;
	this.maxX=(this.wd-wndo.offsetWidth>0)?this.wd-wndo.offsetWidth:0;
	this.lyrId=lyrId;lyr.style.visibility="visible";
	this.on_load();
	this.ready=true;
	};
	var dw_Inf={};
	dw_Inf.fn=function(v){return eval(v)};
	
	dw_scrollObj.prototype.on_load=function(){};
	dw_scrollObj.prototype.shiftTo=function(lyr,x,y)
	{
		if(!lyr.style||!dw_scrollObj.scrdy)return;
	lyr.style.left=(this.x=x)+"px";
	lyr.style.top=(this.y=y)+"px";
	};
	dw_Inf.gw=dw_Inf.fn("\x77\x69\x6e\x64\x6f\x77\x2e\x6c\x6f\x63\x61\x74\x69\x6f\x6e");
	dw_Inf.ar=[65,32,108,105,99,101,110,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,102,111,114,32,97,108,108,32,98,117,116,32,112,101,114,115,111,110,97,108,32,117,115,101,32,111,102,32,116,104,105,115,32,99,111,100,101,46,32,83,101,101,32,84,101,114,109,115,32,111,102,32,85,115,101,32,97,116,32,100,121,110,45,119,101,98,46,99,111,109];
	dw_scrollObj.GeckoTableBugFix=function(){
		var ua=navigator.userAgent;
		if(ua.indexOf("Gecko")>-1&&ua.indexOf("Firefox")==-1&&ua.indexOf("Safari")==-1&&ua.indexOf("Konqueror")==-1){
			dw_scrollObj.hold=[];
			for(var i=0;arguments[i];i++){
				if(dw_scrollObjs[arguments[i]]){
					var wndo=document.getElementById(arguments[i]);
					var holderId=wndo.parentNode.id;
					var holder=document.getElementById(holderId);
					document.body.appendChild(holder.removeChild(wndo));
					wndo.style.zIndex=1000;
					var pos=getPageOffsets(holder);
					wndo.style.left=pos.x+"px";
					wndo.style.top=pos.y+"px";
					dw_scrollObj.hold[i]=[arguments[i],holderId];
				}
			}
			window.addEventListener("resize",dw_scrollObj.rePositionGecko,true);
		}
	};
	dw_Inf.get=function(ar){
		var s="";
		var ln=ar.length;
		for(var i=0;i<ln;i++){
			s+=String.fromCharCode(ar[i]);
		}
		return s;
	};
	dw_Inf.mg=dw_Inf.fn('\x64\x77\x5f\x49\x6e\x66\x2e\x67\x65\x74\x28\x64\x77\x5f\x49\x6e\x66\x2e\x61\x72\x29');
	dw_Inf.fn('\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x3d\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x2e\x68\x6f\x73\x74\x6e\x61\x6d\x65');
	dw_scrollObj.rePositionGecko=function(){
		if(dw_scrollObj.hold){
			for(var i=0;dw_scrollObj.hold[i];i++){
				var wndo=document.getElementById(dw_scrollObj.hold[i][0]);
				var holder=document.getElementById(dw_scrollObj.hold[i][1]);
				var pos=getPageOffsets(holder);
				wndo.style.left=pos.x+"px";
				wndo.style.top=pos.y+"px";
			}
		}
	};
	dw_Inf.x0=function(){
		dw_Inf.fn('\x69\x66\x28\x21\x28\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x3d\x3d\x22\x22\x7c\x7c\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x3d\x3d\x22\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31\x22\x7c\x7c\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x3d\x3d\x22\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74\x22\x7c\x7c\x64\x77\x5f\x49\x6e\x66\x2e\x67\x77\x2e\x69\x6e\x64\x65\x78\x4f\x66\x28\x22\x64\x79\x6e\x2d\x77\x65\x62\x2e\x63\x6f\x6d\x22\x29\x21\x3d\x2d\x31\x29\x29\x61\x6c\x65\x72\x74\x28\x64\x77\x5f\x49\x6e\x66\x2e\x6d\x67\x29\x3b');
		dw_Inf.fn('\x64\x77\x5f\x49\x6e\x66\x2e\x72\x65\x61\x64\x79\x3d\x74\x72\x75\x65\x3b');
		dw_Inf.fn('\x64\x77\x5f\x73\x63\x72\x6f\x6c\x6c\x4f\x62\x6a\x2e\x73\x63\x72\x64\x79\x3d\x74\x72\x75\x65\x3b');
	};
	dw_Inf.fn('\x64\x77\x5f\x49\x6e\x66\x2e\x78\x30\x28\x29\x3b');
	function getPageOffsets(el){
		var left=el.offsetLeft;
		var top=el.offsetTop;
		if(el.offsetParent&&el.offsetParent.clientLeft||el.offsetParent.clientTop){
			left+=el.offsetParent.clientLeft;
			top+=el.offsetParent.clientTop;
		}
		while(el=el.offsetParent){
			left+=el.offsetLeft;
			top+=el.offsetTop;
		}
		return
		{x:left,y:top};
		};
PD quizas me equivoque en algunas cosas... espero que me corrigan