mamba.ru странная переменная.

Discussion in 'PHP' started by De-visible, 23 Feb 2011.

  1. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Вопрос на прямую к тем, кто хорошо разбирается в JS, другие наврядли смогут помочь. Вопрос уже задавал в теме JS/ но ответа не получил.
    переменная peerId, получает значения уже после загрузки страницы, но вот каким образом и откуда понять не удалось, и снифал и исследовал файрбагом, но что то до меня никак не допрет как и где...
    Буду благодарен за помощь.



    Фрагмент кода JS с этой страницы:

    PHP:
    <script>
    mambo.Loader.require(['{mambo.utils}Swf''{mambo.project}Cometa'], function(){

            var 
    swf;
            var 
    flashId 'Flashko';
            var 
    anketaId parseInt("592351451");
            var 
    type "request";
            var 
    peerId "";
            
    mambo.etc mambo.etc || {};
            
            var 
    comet mambo.project.Cometa();
            
            
    comet.subscribe('counters_only');
            
            
    comet.bind('notify', function(emsg){
                var 
    content msg.content;
                if (
    msg.timeout<0) return;
                switch (
    content.action) {
                    
                    case 
    "videochat":
                        
                        if ((
    parseInt(content.anketaId) == anketaId) && content.peerId) {
                            if (
    console && console.logconsole.log("recall: "+content.peerId);
                            
    swf.call('recall', [content.peerId]);
                            $.
    get('http://mamba.ru/ajax/videoChat.phtml?action=accept&anketaId=' anketaId);
                        }
                        break;
                        
                    case 
    "videochat_reject":
                        
                        if (
    content.anketaId == anketaId) {
                            
    swf.call('deny');
                        }
                        break;
                        
                    default:
                        
    null;
                }
            });
            
            (function(){
                
    mambo.etc.callbackOnPublish mambo.etc.callbackOnRetry callbackOnPublish;
                
    mambo.etc.callbackOnClose callbackOnClose;
                
    mambo.etc.callbackOnTimeout callbackOnTimeout;
                
    // callbackOnTimeout(peerId);
                
                
    var flashvars = {
                    
    timeout:30,
                    
    callbackOnRetry"mambo.etc.callbackOnRetry",
                    
    callbackOnClose"mambo.etc.callbackOnClose",
                    
    callbackOnTimeout"mambo.etc.callbackOnTimeout",
                    
    sessionId"PYyUS7uMAidxSP7iMx0Rt4pJa5AJlpFw"
                    
    ,intsex"female"
                    
    ,intname"Альбина"
                    
    ,intid"592351451"
                
    };
                
                if (!
    peerId) {
                    
    flashvars.callbackOnPublish "mambo.etc.callbackOnPublish";
                } else {
                    
    flashvars.peerID peerId;
                }
                
                
    swf mambo.utils.Swf(document.getElementById(flashId),{
                    
    srcmambo.Loader.getUrl("{mambo.etc}mvm.swf"true),
                    
    width"640",
                    
    height"360",
                    
    version"10.0.0",
                    
    flashvarsflashvars,
                    
    menu"false",
                    
    scale"noScale",
                    
    allowFullscreen"true",
                    
    allowScriptAccess"always",
                    
    bgcolor"#FFFFFF",
                    
    wmode"normal"
                
    });
                
                function 
    callbackOnPublish(peerId){
                    $.
    ajax({
                        
    type"POST",
                        
    url"http://mamba.ru/ajax/videoChat.phtml?action=request",
                        
    data: {
                            
    peerIdpeerId,
                            
    anketaIdanketaId
                        
    },
                        
    success: function(msg){
                            
    //alert( "Data Saved: " + msg );
                        
    }
                    });
                }
                
                function 
    callbackOnClose(){
                    
    window.close();
                }

                function 
    callbackOnTimeout(){
                    $.
    ajax({
                        
    type"POST",
                        
    url"http://mamba.ru/ajax/videoChat.phtml?action=sendmessage",
                        
    data: {
                            
    anketaIdanketaId
                        
    },
                        
    success: function(msg){
                        }
                    });
                }
            })();

    });

    </script>
     
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    De-visible в каких случаях переменная вообще появляется? Требуется ли регистрация для этого? Требуется ли, чтобы пользователь был онлайн? Где тестовые акки, если требуется рега?

    Моя догадка - сюда записывается айди анкеты, с которой установлено соединение. Причем пролистывая по диагонали код флеша - записывается у принимающей стороны (то есть у того кому звоните), чтобы она могла инициировать переподключение
     
    _________________________
  3. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    тестовые акки не требуется, туда записывается странный код похожий на md5 хэш, только как он генерируется не понятно. когда снифаешь, он пустой до определенного момента, потом идет следующий запрос но уже с заполненным peerId в какой момент он заполняется важно узнать.
     
  4. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Вообщем благодоря Изису, понял что код берется из флэшки...
     
  5. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Так ты его получить смог?)
     
  6. FATFAT

    FATFAT New Member

    Joined:
    10 Mar 2011
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Удалось вытащить переменную или алгоритм получения ее из флэшки? И это сейчас у всех банятся анкеты при частых запросах?
     
  7. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Разбирайтесь

    http://pastebin.com/6p33VdTq
     
  8. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Странно конечно, но что то до моей головы совсем не допирает как формируется эта переменная... что это за код на выходе получается.
     
  9. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Значение приходит с сервера с событием notify (отсюда: http://comet.lovesupport.ru/_n_o_t_i_f_y_/json_rpc):
    Code:
    comet.bind('notify', function(e, msg){ // msg.content.peerId
      var content = msg.content;
      if (msg.timeout<0) return;
      switch (content.action) {
    	case "videochat":
    	  if ((parseInt(content.anketaId) == anketaId) && content.peerId) {
    		if (console && console.log) console.log("recall: "+content.peerId);
    		  swf.call('recall', [[b]content.peerId[/b]]);
    И только потом оказывается в флешке, в этой функции:
    Code:
    private function connectionRecall(param1:String = null) : void
    {
      TtermDebug.trace("RECALL!", param1);
      if (!param1)
      {
    	return;
      }
      this.mode = "client";
      this.peerID = param1;
      this.vidReceive.unblind();
      this.initReceiver();
      return;
    }
     
    1 person likes this.