Code of hi5 bot massive friend tool

*UPDATES AND MORE CODES HERE* : http://www.facebook.com/pages/James-Jara-Web-Blog/184938988195355

Fuente original : http://3plej-life.blogspot.com/2011/07/code-of-hi5-bot-massive-friend-tool.html

Asunto:
Script para enviar invitaciones massivas automaticas en la red social de hi5.

Titulo:
HI5 BOT MASSIVE FRIEND TOOL / hi5-bot-massive-friend-tool

demo:
http://www.youtube.com/watch?v=41DV215rJYQ

Lenguaje de programacion:
Javascript : front end , Php: back end


Dependencias:
hi5 , php ofuscador packer javascript


Para que sirve:
Enviar  mas de 100 invitaciones instantáneas, crear perfiles con mas de mil amigos por dia para marketing viral , crear landpages para promoción de clickbanking.

Como funciona:
Basicamente este script spider lee todos los perfiles existentes ,los mete a una lista, seguidamente envia la invitacion a cada ID de la lista osea  cada perfil. Esta optimizado para no ser baneado.
==tutorial abajo:==


Desarrollador:
James Jara.

Descarga directa:
http://code.google.com/p/hi5-bot-massive-friend-tool/downloads/detail?name=hi5_bot_jamesjara.zip&can=2&q=#makechanges


Codigo fuente en google code: 
http://code.google.com/p/hi5-bot-massive-friend-tool/

Codigo fuente online:
http://hi5-bot-massive-friend-tool.googlecode.com/svn/trunk/

Imagen demo extraccion de perfiles en hi5 bot:




Review del script:


// vim: sw=4:ts=4:nu:nospell:fdc=4
/**
* all framework
*
* @author Ing. James Jara
* @copyright (c) 2011-2012, by Ing. James Jara
* @date 03. Julio 2012
* @version $Id: sc.js  2011-07-03 05:12:14Z james $
*
**/
/*
La razon del el javascript esta dentro de un string de php
es porque luego paso ese string a una funcion que convierte cada
variable js en un nombre de variable aleatorio valido osea lo ofuxca.
*/
var xmlHttp;

function estadoProgreso(state) {
    document.getElementById('progreso').mode = (state) ? 'undetermined' : 'determined';
};

function eliminarDuplicados(a) {
    var idx = {},
        ai, o = [];
    for (var i = 0, l = a.length; i < l; i++) {
        ai = a[i];
        if (!idx[ai]) {
            o.push(ai);
            idx[ai] = true;
        };
    };
    return o;
};

function goToPost() {
   // if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete') {}
};

function GetXmlHttpObject() {
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    return xmlHttp;
};

function enviarInvitacion(timestamp, jscode, user) {
    xmlHttp = false;
    xmlHttp = GetXmlHttpObject();
    if (xmlHttp.overrideMimeType) {
        xmlHttp.overrideMimeType('text/xml; charset=utf-8');
    };
    if (xmlHttp == null) {
        alert('Esta shit no soporta envio xmlHttp ');
        return;
    };
    var url = 'http://hi5.com/friend/addFriendAjax.do';
    var parameters = 'timestamp=' + timestamp + '&js=' + jscode + '&requestSource=FRIENDS_OF_FRIENDS' + '&userid=' + user + '&userId=' + '';
    xmlHttp.onreadystatechange = goToPost;
    xmlHttp.open('POST', url, true);
    xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    xmlHttp.setRequestHeader('Content-length', parameters.length);
    xmlHttp.setRequestHeader('Connection', 'close');
    xmlHttp.send(parameters);
};

//A -> ESCANEAR


function a() {
    estadoProgreso(true);
    var iDsStore = new Array();
    var Documento = window.opener.content.document.body.innerHTML;
    var patron = /friend\/p(.*?)--/gim;
    var patron2 = /displayProfile.do\?userid=(.*?)\/gim;
    //Buscamos con el metodo 1 /friend\/p(.*?)--/
    var resultado = Documento.match(patron);
    var concidencia;
    if (resultado != null) {
        while ((concidencia = patron.exec(Documento))) {
            estadoProgreso(true);
            iDsStore.push(concidencia[1]);
        };
        if (concidencia == null) {
            estadoProgreso(false);
        };
    } else {
        alert('En esta pagina no se encontraron Perfiles(IDS-1) de Hi5');
        estadoProgreso(false);
    };
    //Buscamos con el metodo 2 /friend/profile/displayProfile.do?userid=(.*?)\">
    var resultado2 = Documento.match(patron2);
    var concidencia2;
    if (resultado2 != null) {
        while ((concidencia2 = patron2.exec(Documento))) {
            estadoProgreso(true);
            iDsStore.push(concidencia2[1].replace("')", "" )); '"
        };
    } else {
        alert('En esta pagina no se encontraron Perfiles(IDS-2) de Hi5');
        estadoProgreso(false);
    };
    //Arreglamos los arreglos
    iDsStore = eliminarDuplicados(iDsStore);
    document.getElementById('contador').value = 'Encontrados: ' + iDsStore.length + ' IDs(1-2)';
    //Rellenamos la tabla
    var ids = document.getElementById('ids');
    for (i = 0; i < iDsStore.length; i++) {
        //alert(iDsStore[i]);
        var row = document.createElement('listitem');
        row.setAttribute('label', 'UserID:' + iDsStore[i]);
        row.setAttribute('value', iDsStore[i]);
        ids.appendChild(row);
        if (i == iDsStore.length - 1) {
            document.getElementById('progreso').value = 110;
            document.getElementById('proceso1').disabled = 'true';
            estadoProgreso(false);
        };
    };
};

//C-> ENVIAR INVITACIONES
//http://hi5.com/friend/addFriendAjax.do
//timestamp=-283192195017210631&
//js=a10ozYRP2SFa&
//requestSource=FRIENDS_OF_FRIENDS&
//userid=506699145&
//userId=


function c() {
    var Documento = window.opener.content.document.body.innerHTML;
    var jscode_p = /&js=(.*?)\>Cerrar/gim;
    var timestamp_p = /logoff.do\?timestamp=(.*?)&js=/gi;
    //Buscamos con el metodo 1 de JScode /friend\/p(.*?)--/
    var resultado1 = Documento.match(jscode_p);
    var concidencia1;
    var jscode;
    if (resultado1 != null) {
        while ((concidencia1 = jscode_p.exec(Documento))) {
            jscode = concidencia1[1];
        };
    } else {
        alert('En esta pagina no se encontraron codigos HI5-JS');
    };
    //Buscamos con el metodo 2 de timestamp /friend\/p(.*?)--/
    var resultado2 = Documento.match(timestamp_p);
    var concidencia2;
    var timestamp;
    if (resultado2 != null) {
        while ((concidencia2 = timestamp_p.exec(Documento))) {
            timestamp = concidencia2[1];
        };
    } else {
        alert('En esta pagina no se encontraron codigos HI5-TS');
    };
    //Info total
    //alert('jscode:'+jscode+' ,timestamp: '+timestamp);
    //Rellenamos la tabla y enviamos la peticion
    var ids = document.getElementById('ids');
    var max = ids.getRowCount();
    for (i = 0; i < max; i++) {
        //ids.removeItemAt(0);
        var user = ids.getItemAtIndex(i).getAttribute('value');
        ids.getItemAtIndex(i).setAttribute('label', ids.getItemAtIndex(i).getAttribute('label') + ' -> Listo!');
        //Envia petecion Ajax
        enviarInvitacion(timestamp, jscode, user);
        document.getElementById('contador').value = 'Enviados: ' + (i + 1) + ' IDs(1-2)';
        if ((i + 1) == max) {
            alert('Felicidades.. Se han enviado ' + max + ' invitaciones!');
            document.getElementById('proceso2').disabled = 'true';
        };
    };
};

$item = "aqui codigo js ANTERIOR para ser ofuscado";
Header("content-type: application/x-javascript");
$packer = new  Packer(utf8_encode($item),'Normal', 'true', 'true');
$packed = $packer->pack();
die($packed); 
?>


1 pensamientos:

Post a Comment

feedback!