redeemRedirect

4 11 2016

Para todos los que estuvieron metidos de lleno en el asunto lockerz, fue común encontrar por pago scripts para greasemonkey, que redireccionaban hacia los premios elegidos durante la redeem (especie de orgía virtual donde se canjeaban puntos por premios físicos(mira el código y veras los premios que alguna vez soné tener), luego abandonada para dar paso a una tienda virtual cualquiera con descuentos).
El detalle esta en la función, que puede ser modificada para el fin que creas útil(que tal usar uno de esos scripts que llena campos automáticamente con esto y comprar lo que sea en por ejemplo ebay cuando valga $1.00 seria loco pero podrías tener un blog basado única y exclusivamente en esta conducta irresponsable).

http://multiple.webcindario.com/works/redeemRedirect.js

/*
inspired from  linkchecker.user.js 13 2006-05-30 13:05:58Z joe $

Linkchecker - (c) 2006 J.Q. la Poutre

LICENSE
=======

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

MODS By FCR

*/
// ==UserScript==
// @name           redeemRedirect
// @namespace      http://about.me/fernandocaldas
// @description    redirect to selected item on lockerz
// @include                *.lockerz.*
// @version	       1.04
// ==/UserScript==

llinks = new Array('MacBook 1000 PTZ','MacBook 1750 PTZ','New iPad - 16 GB 1000 PTZ','Dell Inspiron Mini 10 inch- Black','3D Blu Ray','New iPad - 16 GB 2000 PTZ','ELECTRONICS','Original Wayfarer','FORTE - Size 11');//text to match from selected items
//note:	 put the name of the prize in the order you want them: from first option to last option; also, if you add 'BRANDS WE LOVE' or 'ELECTRONICS', you can skip one step :) [but be carefull to chose which boutique to redeem]
//	this script uses the array "llinks" to select from all the links in the page the ones than match with given array values, every single key is splitted in "tags"; if all the tags match the text in a link, the link will be followed
//		in order to get JUST what you want, add the PTZ of each item(or have fun searching everything that fits some PTZ price!)
hasLink = 0;//match Flag
			for (var n = 0; n < llinks.length; n++) {		llinks[n] = llinks[n].toLowerCase().split(" ");}//items array into 2d tags array
// global object
var gLockerzLinkchecker = {
	links: [],        // link objects
	GREEN: "#7CFC00", // some color definitions
	RED:   "#FF6347",
	YELLOW: "yellow",
	ORANGE: "orange",
	GREY:  "silver",
	populate: function() {
		var btn = document.getElementById("gm_lockerz_lichckr_btn");
		btn.setAttribute("value", "Stop");
		var ll = document.getElementsByTagName("a");
		for (var j = 0; j < llinks.length; j++) {//links order according to list, not order of the page
			for (var i = 0; i < ll.length; i++) {
				var l = ll[i];
				href = l.getAttribute("href");
				linktextOriginal = l.innerHTML;
				linktext = linktextOriginal.toLowerCase();
				var llinksTags = llinks[j]; var matchedTags = 0;//tags array and flag
				for(var h = 0; h '+llinks[j].join(" ");//log, uncomment for debug
					if(hasLink==0){location.href=href;hasLink=1;}//redirect to first link,  comment for debug
				}
			}
		}
		gLockerzLinkchecker.evtStop();
	},
	evtStart: function() {
		var btn = document.getElementById("gm_lockerz_lichckr_btn");
		btn.setAttribute("value", "Initializing...");
		btn.style.backgroundColor = gLockerzLinkchecker.ORANGE;
		btn.removeEventListener('click', gLockerzLinkchecker.evtStart, true);
		btn.addEventListener('click', gLockerzLinkchecker.evtStop, true);
		gLockerzLinkchecker.populate();
	},
	evtStop: function() {
		var btn = document.getElementById("gm_lockerz_lichckr_btn");
		btn.setAttribute("value", "Start");
		btn.style.backgroundColor = gLockerzLinkchecker.GREEN;
		btn.removeEventListener('click', gLockerzLinkchecker.evtStop, true);
		btn.addEventListener('click', gLockerzLinkchecker.evtStart, true);
	},
	initialize: function() {
		// work in main window only (too many iframe crap sites, sorry)
		if (window != top) return;

		// "start" button on page
		var ovl = document.createElement("input");
		ovl.setAttribute("id", "gm_lockerz_lichckr_btn");
		ovl.setAttribute("type", "button");
		ovl.setAttribute("value", "Check links");
		ovl.style.position = "fixed";
		ovl.style.zIndex = 99999; // insane, sometimes needed though
		ovl.style.top = "12px";
		ovl.style.right = "8px";
		ovl.style.backgroundColor = gLockerzLinkchecker.GREEN;
		ovl.addEventListener('click', gLockerzLinkchecker.evtStart, true);
		document.getElementsByTagName("body")[0].appendChild(ovl);

		var logout = document.createElement("div");
		logout.setAttribute("id", "gm_lockerz_lichckr_log");
		logout.style.display = "none";//comment for debug
		logout.style.position = "absolute";
		logout.style.zIndex = 99998;
		logout.style.top = "50px";
		logout.style.right = "8px";
		logout.style.backgroundColor = gLockerzLinkchecker.GREEN;
		document.getElementsByTagName("body")[0].appendChild(logout);
		//gLockerzLinkchecker.evtStart();//you can skip button clicking by uncommenting this line
	}
};

gLockerzLinkchecker.initialize();

// end user script

que debo hacer con el? instala primero greasemonkey en firefox y luego vuelve a esta pagina y haz click en el vinculo, una vez instalado, debes editarlo para que la lista sea la adecuada.
Que tiene de diferente? busca usando etiquetas, lo que lo hace mejor. algunos pueden criticar el que necesites presionar el boton, pero puedes quitarlo editando el script(super facil de hacer) lo puse por que a veces falla firefox y redirige hacias ruta invalida(tambien intente agregar una coreccion, pero nada está garantizado)

Nota: ofrecido sin garantia alguna.

Anuncios




estas usando capsLock?

3 03 2013

Hace algún tiempo yahoo tenia cosas geniales para desarrolladores, como YUI(yahoo user interface) pero la compania se fue a pique y muchas cosas cambiaron, en esos días locos(mi id de yahoo es completamente estúpida(tenia como 10(edad(me fascina anidar cosas, lo acepto, lo llamado “síndrome del array multidimensional”))))

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="es">
<head>
<title>detectar capsLock</title>
<script type="text/javascript">
if (!e) {        var e = event;}
function isCapslock(e){ 
    if (!e) { 
        var e = event;
    }
    var code = false;
    if (e.keyCode) {
        code = e.keyCode;
    } else if (e.which) {
        code = e.which;
    }
    var shifton = false;
    if (e.shiftKey) {
        shifton = e.shiftKey;
    } 
    if (code >= 97 && code <= 122 && shifton) {
        return true;
    }
    if (code >= 65 && code <= 90 && !shifton) {
        return true;
    }
    return false;   
}

function checkCapslock(e){
var fcl = document.getElementById("fcl");
var passwd = document.getElementById("ucr_pax");
    if (isCapslock(e)) {       
        fcl.style.display="";
    } else {
        fcl.style.display="none";
    }
}
</script>
</head>
<body onKeypress="checkCapslock(event)">
<div id="fcl" style="display:none;">Parece que estas escribiendo en mayusculas</div>
<div id="formudiv">
<form name="test">
<input type="password" name="ucr_pax" id="ucr_pax" onKeydown="checkCapslock(event)">
</form>
</div>

<!-- 

usar asi: 
<body onKeypress="checkCapslock(event)">
<input type="password" name="" id="" onKeydown="checkCapslock(event)">



-->
<p>
<br>
obtenido de yahoo! tambien puede interesar md5:
<br>
https://s.yimg.com/lq/i/reg/js/login_md5_1.1.js
</p>

</body>
</html>

Puedes probarlo
Dando vueltas por internet encontré una pagina en la que hablan sobre contraseñas de un solo uso, es muy interesante esto no solo por que alguna vez trate de usarlas, sino por que mencionan a yahoo mail que en algún momento usaba md5 por JS. espero poder usarlo.

Extraño YUI, extraño meebo, me extraño.





Comparar y buscar repetidos

14 08 2009

Hace dos meses me di de golpes contra una columna para terminar este script en JS que busca dentro de una array los valores que se repiten:

repetidosenjs2

<script type="text/javaScript">
numeritosA = new Array(58,31,2,15,15,88,29,58,91,32,2,88,88,'a','c','a','d');
yarevisados = new Array();
repetidos =  new Array();
sumsum=0;

		for(var index = 0; index < numeritosA.length; index++)
		{		
                   for(var indexB = 0; indexB < numeritosA.length; indexB++)
		   {		  
		        if(numeritosA&#91;index&#93;==numeritosA&#91;indexB&#93; && index!=indexB){
			   yarevisados&#91;yarevisados.length&#93;=numeritosA&#91;index&#93;;
                               sumsum=0;
                                  		for(var indexC = 0; indexC < yarevisados.length; indexC++)
		                                 {
                                                   if(numeritosA&#91;index&#93;==yarevisados&#91;indexC&#93;){sumsum=sumsum+1;					    }
                                                 }
				if(sumsum==1){repetidos&#91;repetidos.length&#93;=numeritosA&#91;indexB&#93;;}

				


                        }
                   }
		}


function imprimiresto(){
addrepnum='Numeros a cotejar ';
	if(numeritosA.length!=0){                      
			for(var index = 0; index < numeritosA.length; index++)
			{
   	                   addrepnum=addrepnum+', '+numeritosA&#91;index&#93;;	
   	                }
		document.getElementById('numros').innerHTML=addrepnum;
	}


	if(repetidos.length!=0){                      
	document.getElementById('serepiten').innerHTML='<br>repetidos:';
			for(var index = 0; index < repetidos.length; index++)
			{
   	                   document.getElementById('serepiten').innerHTML+='<br>-'+repetidos[index];	
   	                }
	}
}
</script>




MD5 via JS

21 07 2009

Par generar el MD5 de una cadena de texto, se puede utilizar el siguiente código (Lo encontré jugando con mi módem):

<!--
	var hex_chr = "0123456789abcdef";
	function rhex(num)
	{
		var str = "";

  		for(var j = 0; j <= 3; j++)
	    	str += hex_chr.charAt((num >> (j * 8 + 4)) & 0x0F) + hex_chr.charAt((num >> (j * 8)) & 0x0F);

  		return str;
	}

	function str2blks_MD5(str)
	{
  		var nblk = ((str.length + 8) >> 6) + 1;
  		var blks = new Array(nblk * 16);

  		for(var i = 0; i < nblk * 16; i++) blks&#91;i&#93; = 0;
  		for(i = 0; i < str.length; i++)
    		blks&#91;i >> 2&#93; |= str.charCodeAt(i) << ((i % 4) * 8);

  		blks&#91;i >> 2&#93; |= 0x80 << ((i % 4) * 8);
  		blks&#91;nblk * 16 - 2&#93; = str.length * 8;

  		return blks;
	}

	function add(x, y)
	{
  		return ((x&0x7FFFFFFF) + (y&0x7FFFFFFF)) ^ (x&0x80000000) ^ (y&0x80000000);
	}

	function rol(num, cnt)
	{
  		return (num << cnt) | (num >>> (32 - cnt));
	}

	function cmn(q, a, b, x, s, t)
	{
  		return add(rol(add(add(a, q), add(x, t)), s), b);
	}

	function ff(a, b, c, d, x, s, t)
	{
  		return cmn((b & c) | ((~b) & d), a, b, x, s, t);
	}

	function gg(a, b, c, d, x, s, t)
	{
  		return cmn((b & d) | (c & (~d)), a, b, x, s, t);
	}

	function hh(a, b, c, d, x, s, t)
	{
  		return cmn(b ^ c ^ d, a, b, x, s, t);
	}

	function ii(a, b, c, d, x, s, t)
	{
  		return cmn(c ^ (b | (~d)), a, b, x, s, t);
	}

	function calcMD5(str)
	{
  		var x = str2blks_MD5(str);
  		var a = 0x67452301;
  		var b = 0xEFCDAB89;
  		var c = 0x98BADCFE;
  		var d = 0x10325476;

  		for(var i = 0; i < x.length; i += 16)
  		{
    		var olda = a;
    		var oldb = b;
    		var oldc = c;
    		var oldd = d;

    		a = ff(a, b, c, d, x&#91;i+ 0&#93;, 7 , 0xD76AA478);
    		d = ff(d, a, b, c, x&#91;i+ 1&#93;, 12, 0xE8C7B756);
    		c = ff(c, d, a, b, x&#91;i+ 2&#93;, 17, 0x242070DB);
    		b = ff(b, c, d, a, x&#91;i+ 3&#93;, 22, 0xC1BDCEEE);
    		a = ff(a, b, c, d, x&#91;i+ 4&#93;, 7 , 0xF57C0FAF);
    		d = ff(d, a, b, c, x&#91;i+ 5&#93;, 12, 0x4787C62A);
    		c = ff(c, d, a, b, x&#91;i+ 6&#93;, 17, 0xA8304613);
    		b = ff(b, c, d, a, x&#91;i+ 7&#93;, 22, 0xFD469501);
    		a = ff(a, b, c, d, x&#91;i+ 8&#93;, 7 , 0x698098D8);
    		d = ff(d, a, b, c, x&#91;i+ 9&#93;, 12, 0x8B44F7AF);
    		c = ff(c, d, a, b, x&#91;i+10&#93;, 17, 0xFFFF5BB1);
    		b = ff(b, c, d, a, x&#91;i+11&#93;, 22, 0x895CD7BE);
    		a = ff(a, b, c, d, x&#91;i+12&#93;, 7 , 0x6B901122);
    		d = ff(d, a, b, c, x&#91;i+13&#93;, 12, 0xFD987193);
    		c = ff(c, d, a, b, x&#91;i+14&#93;, 17, 0xA679438E);
    		b = ff(b, c, d, a, x&#91;i+15&#93;, 22, 0x49B40821);

    		a = gg(a, b, c, d, x&#91;i+ 1&#93;, 5 , 0xF61E2562);
    		d = gg(d, a, b, c, x&#91;i+ 6&#93;, 9 , 0xC040B340);
    		c = gg(c, d, a, b, x&#91;i+11&#93;, 14, 0x265E5A51);
    		b = gg(b, c, d, a, x&#91;i+ 0&#93;, 20, 0xE9B6C7AA);
    		a = gg(a, b, c, d, x&#91;i+ 5&#93;, 5 , 0xD62F105D);
    		d = gg(d, a, b, c, x&#91;i+10&#93;, 9 , 0x02441453);
    		c = gg(c, d, a, b, x&#91;i+15&#93;, 14, 0xD8A1E681);
    		b = gg(b, c, d, a, x&#91;i+ 4&#93;, 20, 0xE7D3FBC8);
    		a = gg(a, b, c, d, x&#91;i+ 9&#93;, 5 , 0x21E1CDE6);
    		d = gg(d, a, b, c, x&#91;i+14&#93;, 9 , 0xC33707D6);
    		c = gg(c, d, a, b, x&#91;i+ 3&#93;, 14, 0xF4D50D87);
    		b = gg(b, c, d, a, x&#91;i+ 8&#93;, 20, 0x455A14ED);
    		a = gg(a, b, c, d, x&#91;i+13&#93;, 5 , 0xA9E3E905);
    		d = gg(d, a, b, c, x&#91;i+ 2&#93;, 9 , 0xFCEFA3F8);
    		c = gg(c, d, a, b, x&#91;i+ 7&#93;, 14, 0x676F02D9);
    		b = gg(b, c, d, a, x&#91;i+12&#93;, 20, 0x8D2A4C8A);

    		a = hh(a, b, c, d, x&#91;i+ 5&#93;, 4 , 0xFFFA3942);
    		d = hh(d, a, b, c, x&#91;i+ 8&#93;, 11, 0x8771F681);
    		c = hh(c, d, a, b, x&#91;i+11&#93;, 16, 0x6D9D6122);
    		b = hh(b, c, d, a, x&#91;i+14&#93;, 23, 0xFDE5380C);
    		a = hh(a, b, c, d, x&#91;i+ 1&#93;, 4 , 0xA4BEEA44);
    		d = hh(d, a, b, c, x&#91;i+ 4&#93;, 11, 0x4BDECFA9);
    		c = hh(c, d, a, b, x&#91;i+ 7&#93;, 16, 0xF6BB4B60);
    		b = hh(b, c, d, a, x&#91;i+10&#93;, 23, 0xBEBFBC70);
    		a = hh(a, b, c, d, x&#91;i+13&#93;, 4 , 0x289B7EC6);
    		d = hh(d, a, b, c, x&#91;i+ 0&#93;, 11, 0xEAA127FA);
    		c = hh(c, d, a, b, x&#91;i+ 3&#93;, 16, 0xD4EF3085);
    		b = hh(b, c, d, a, x&#91;i+ 6&#93;, 23, 0x04881D05);
    		a = hh(a, b, c, d, x&#91;i+ 9&#93;, 4 , 0xD9D4D039);
    		d = hh(d, a, b, c, x&#91;i+12&#93;, 11, 0xE6DB99E5);
    		c = hh(c, d, a, b, x&#91;i+15&#93;, 16, 0x1FA27CF8);
    		b = hh(b, c, d, a, x&#91;i+ 2&#93;, 23, 0xC4AC5665);

    		a = ii(a, b, c, d, x&#91;i+ 0&#93;, 6 , 0xF4292244);
    		d = ii(d, a, b, c, x&#91;i+ 7&#93;, 10, 0x432AFF97);
    		c = ii(c, d, a, b, x&#91;i+14&#93;, 15, 0xAB9423A7);
    		b = ii(b, c, d, a, x&#91;i+ 5&#93;, 21, 0xFC93A039);
    		a = ii(a, b, c, d, x&#91;i+12&#93;, 6 , 0x655B59C3);
    		d = ii(d, a, b, c, x&#91;i+ 3&#93;, 10, 0x8F0CCC92);
    		c = ii(c, d, a, b, x&#91;i+10&#93;, 15, 0xFFEFF47D);
    		b = ii(b, c, d, a, x&#91;i+ 1&#93;, 21, 0x85845DD1);
    		a = ii(a, b, c, d, x&#91;i+ 8&#93;, 6 , 0x6FA87E4F);
    		d = ii(d, a, b, c, x&#91;i+15&#93;, 10, 0xFE2CE6E0);
    		c = ii(c, d, a, b, x&#91;i+ 6&#93;, 15, 0xA3014314);
    		b = ii(b, c, d, a, x&#91;i+13&#93;, 21, 0x4E0811A1);
    		a = ii(a, b, c, d, x&#91;i+ 4&#93;, 6 , 0xF7537E82);
    		d = ii(d, a, b, c, x&#91;i+11&#93;, 10, 0xBD3AF235);
    		c = ii(c, d, a, b, x&#91;i+ 2&#93;, 15, 0x2AD7D2BB);
    		b = ii(b, c, d, a, x&#91;i+ 9&#93;, 21, 0xEB86D391);

    		a = add(a, olda);
    		b = add(b, oldb);
    		c = add(c, oldc);
    		d = add(d, oldd);
  		}
  		return rhex(a) + rhex(b) + rhex(c) + rhex(d);
	}

	function passwordMD5(str)
	{
		var MDstring = calcMD5(str);

		return MDstring;
	}

	function LoginClick( loginPassword,hiddenPassword)
	{
		var passwordStr = passwordMD5(loginPassword.value);
		hiddenPassword.value = passwordStr;
		return;
	}
// -->


Se llama a LoginClick(document.getElementById(‘a’).value,document.getElementById(‘b’).value);

donde a seria el ID del campo con el texto original y b el cmpo con el resultado








A %d blogueros les gusta esto: