【问题标题】:How can I know what _root means in this context?在这种情况下,我怎么知道 _root 是什么意思?
【发布时间】:2018-10-29 04:20:14
【问题描述】:

我正在对老式在线 Flash 游戏进行逆向工程。它在 RC4 中加密了一些用户初始化数据。但这不是那么痛苦的问题。在这种情况下,我怎么知道 _root 是什么意思?我无法重新编译此 SWF 以使用 trace()。请帮帮我。我部分不明白的代码如下。我不明白服务器如何获取 _root 内容来加密数据。解密函数将第二个参数转换为字符串。

   function LoadServerXML(path, callback, data)
   {
      var _loc5_ = new utilites.LoadXML();
      if(data)
      {
         _loc5_.setAndLoadChannels(data,path);
      }
      else
      {
         _loc5_.getChannels(path);
      }
      var _loc7_ = function(event)
      {
         event.cdata = {};
         var _loc6_ = event.target.firstChild;
         var _loc2_ = _loc6_.childNodes;
         for(var _loc5_ in _loc2_)
         {
            if(_loc2_[_loc5_].nodeName == "cdata")
            {
               var _loc3_ = new XML(utilites.UTF8.Decode(utilites.Crypt.DecryptH(_loc2_[_loc5_].attributes.value,_root))).firstChild; // <= here
               _loc2_[_loc5_].removeNode();
               event.cdata[_loc3_.nodeName] = _loc3_;
            }
         }
      };
      _loc5_.addEventListener("onResult",$.FnChain(null,_loc7_,callback));
   }

【问题讨论】:

    标签: flash actionscript reverse-engineering


    【解决方案1】:

    _root 是 AS2 中的一个特殊关键字,我猜这个项目就是用它写的。

    _root 是基础对象,作为一个概念,它在 AS3 中或多或少地被“阶段”所取代。它是背景色,例如是整个 swf 电影的背景色。

    很多人也将它用作静态访问的有效手段,因为 _root.foo 可以作为全局变量从任何地方访问。由于它是一个对象,因此您可以从任何范围访问其上的任何变量。

    希望对你有帮助。

    将其视为电影的“主要”对象。

    【讨论】:

      猜你喜欢
      • 2021-07-26
      • 2020-04-04
      • 2017-03-28
      • 2016-08-26
      • 2014-10-27
      • 2019-10-15
      • 2020-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多