View Single Post
  #12  
Old 04-17-2014, 12:24 AM
Zackangel Zackangel is offline
Junior Member
 
Join Date: Apr 2014
Posts: 4
Zackangel is on a distinguished road
Default

Re: how to decrypt and decode png files to real file (.ass)


the encoding method is different.
I look swf file in the site and here is the new code on the site...

May be
HTML Code:
      public static function decrypt(param1:String, param2:String) : String {
         var _loc9_:* = NaN;
         var _loc10_:* = NaN;
         var _loc14_:* = NaN;
         if(param1.length == 0)
         {
            return "";
         }
         var _loc3_:Array = charsToLongs(hexToChars(param1));
         var _loc4_:Array = charsToLongs(strToChars(param2.substr(0,16)));
         var _loc5_:Number = _loc3_.length;
         var _loc6_:Number = _loc3_[_loc5_-1];
         var _loc7_:Number = _loc3_[0];
         var _loc8_:Number = 2.654435769E9;
         var _loc11_:Number = Math.floor(6 + 52 / _loc5_);
         var _loc12_:Number = _loc11_ * _loc8_;
         while(_loc12_ != 0)
         {
            _loc10_ = _loc12_ >>> 2 & 3;
            _loc14_ = _loc5_-1;
            while(_loc14_ >= 0)
            {
               _loc6_ = _loc3_[_loc14_ > 0?_loc14_-1:_loc5_-1];
               _loc9_ = (_loc6_ >>> 5 ^ _loc7_ << 2) + (_loc7_ >>> 3 ^ _loc6_ << 4) ^ (_loc12_ ^ _loc7_) + (_loc4_[_loc14_ & 3 ^ _loc10_] ^ _loc6_);
               _loc7_ = _loc3_[_loc14_] = _loc3_[_loc14_] - _loc9_;
               _loc14_--;
            }
            _loc12_ = _loc12_ - _loc8_;
         }
         var _loc13_:Array = longsToChars(_loc3_);
         return charsToStr(_loc13_);
      }
      
      private static function charsToLongs(param1:Array) : Array {
         var _loc2_:Array = new Array(Math.ceil(param1.length / 4));
         var _loc3_:Number = 0;
         while(_loc3_ < _loc2_.length)
         {
            _loc2_[_loc3_] = param1[_loc3_ * 4] + (param1[_loc3_ * 4 + 1] << 8) + (param1[_loc3_ * 4 + 2] << 16) + (param1[_loc3_ * 4 + 3] << 24);
            _loc3_++;
         }
         return _loc2_;
      }
      
      private static function longsToChars(param1:Array) : Array {
         var _loc2_:Array = new Array();
         var _loc3_:Number = 0;
         while(_loc3_ < param1.length)
         {
            _loc2_.push(param1[_loc3_] & 255,param1[_loc3_] >>> 8 & 255,param1[_loc3_] >>> 16 & 255,param1[_loc3_] >>> 24 & 255);
            _loc3_++;
         }
         return _loc2_;
      }
      
      private static function longToChars(param1:Number) : Array {
         var _loc2_:Array = new Array();
         _loc2_.push(param1 & 255,param1 >>> 8 & 255,param1 >>> 16 & 255,param1 >>> 24 & 255);
         return _loc2_;
      }
      
      private static function charsToHex(param1:Array) : String {
         var _loc2_:String = new String("");
         var _loc3_:Array = new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");
         var _loc4_:Number = 0;
         while(_loc4_ < param1.length)
         {
            _loc2_ = _loc2_ + (_loc3_[param1[_loc4_] >> 4] + _loc3_[param1[_loc4_] & 15]);
            _loc4_++;
         }
         return _loc2_;
      }
      
      private static function hexToChars(param1:String) : Array {
         var _loc2_:Array = new Array();
         var _loc3_:Number = param1.substr(0,2) == "0x"?2:0;
         while(_loc3_ < param1.length)
         {
            _loc2_.push(parseInt(param1.substr(_loc3_,2),16));
            _loc3_ = _loc3_ + 2;
         }
         return _loc2_;
      }
      
      private static function charsToStr(param1:Array) : String {
         var _loc2_:String = new String("");
         var _loc3_:Number = 0;
         while(_loc3_ < param1.length)
         {
            _loc2_ = _loc2_ + String.fromCharCode(param1[_loc3_]);
            _loc3_++;
         }
         return _loc2_;
      }
      
      private static function strToChars(param1:String) : Array {
         var _loc2_:Array = new Array();
         var _loc3_:Number = 0;
         while(_loc3_ < param1.length)
         {
            _loc2_.push(param1.charCodeAt(_loc3_));
            _loc3_++;
         }
         return _loc2_;
      }
   }
}
Reply With Quote