.as в .php

2jik, спс огромное, но думаю твой код не идеален ) Уже пишу покороче и по проще для понимания )
 
Раскодировал плейлист, сделал исправления, а как назад закодировать так и не понял.
 
Вопрос никто не пробовал раскодить ссылки на файл с видео:
Причем при кодировании одного и того же урла Для просмотра ссылки Войди или Зарегистрируйся получаем кодированные разного вида:
61AEev0D1J5Entu0c9BMre
62AEevt0D1J5ntu0c9BMr5
02AEev0D1dJ5ntu0c9BMrn
Сам код base64.as:
Код:
package com.util
{
    import com.uppod.*;
    import flash.utils.*;
    public class Base64 extends Object
    {
        public static const version:String = "1.0.0";
        private static const BASE64_CHARS:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
        public function Base64()
        {
            throw new Error("Base64 class is static container only");
        }// end function
        public static function enc_replace_ab(param1:String, param2:String, param3:String) : String
        {
            var _loc_4:* = new RegExp(param1, "g");
            var _loc_5:* = new RegExp(param2, "g");
            param3 = param3.replace(_loc_4, "___");
            param3 = param3.replace(_loc_5, param1);
            param3 = param3.replace(/___/g, param2);
            return param3;
        }// end function
        public static function encode(param1:String) : String
        {
            var _loc_2:* = new ByteArray();
            _loc_2.writeUTFBytes(param1);
            var _loc_3:* = encodeByteArray(_loc_2);
            _loc_3 = enc_replace(_loc_3, "e");
            return _loc_3;
        }// end function
        private static function enc_replace(param1:String, param2:String, param3:Boolean = false) : String
        {
            var _loc_5:Array;
            var _loc_7:Array;
            var _loc_8:Array;
            var _loc_4:* = new ByteObject();
            _loc_5 = [];
            _loc_5 = _loc_4.V[0];
            var _loc_6:* = _loc_4.V[1];
            param1 = _loc_4.tr(param1, 114, 65);
            if (param1.substr(-1) == "!")
            {
                param1 = param1.substr(0, -1);
                _loc_5 = _loc_4.I[0];
                _loc_6 = _loc_4.I[1];
            }
            if (_loc_4.Client != null && !param3)
            {
                if (_loc_4.Client.codec_a != null)
                {
                    _loc_5 = _loc_4.Client.codec_a;
                    _loc_6 = _loc_4.Client.codec_b;
                }
            }
            if (param2 == "e")
            {
                _loc_7 = _loc_5;
                _loc_8 = _loc_6;
            }
            if (param2 == "d")
            {
                _loc_7 = _loc_6;
                _loc_8 = _loc_5;
            }
            var _loc_9:int;
            while (_loc_9 < _loc_7.length)
            {
                param1 = enc_replace_ab(_loc_7[_loc_9], _loc_8[_loc_9], param1);
                _loc_9++;
            }
            return param1;
        }// end function
        public static function encodeByteArray(param1:ByteArray) : String
        {
            var _loc_3:Array;
            var _loc_5:uint;
            var _loc_6:uint;
            var _loc_7:uint;
            var _loc_2:String;
            var _loc_4:* = new Array(4);
            param1.position = 0;
            while (param1.bytesAvailable > 0)
            {
                _loc_3 = new Array();
                _loc_5 = 0;
                while (_loc_5++ < 3 && param1.bytesAvailable > 0)
                {
                    _loc_3[_loc_5] = param1.readUnsignedByte();
                }
                _loc_4[0] = (_loc_3[0] & 252) >> 2;
                _loc_4[1] = (_loc_3[0] & 3) << 4 | _loc_3[1] >> 4;
                _loc_4[2] = (_loc_3[1] & 15) << 2 | _loc_3[2] >> 6;
                _loc_4[3] = _loc_3[2] & 63;
                _loc_6 = _loc_3.length;
                while (_loc_6++ < 3)
                {
                    _loc_4[_loc_6 + 1] = 64;
                }
                _loc_7 = 0;
                while (_loc_7++ < _loc_4.length)
                {
                    _loc_2 = _loc_2 + BASE64_CHARS.charAt(_loc_4[_loc_7]);
                }
            }
            return _loc_2;
        }// end function
        public static function decode(param1:String, param2:Boolean = false) : String
        {
            param1 = enc_replace(param1, "d", param2);
            var _loc_3:* = decodeToByteArray(param1);
            return _loc_3.readUTFBytes(_loc_3.length);
        }// end function
        public static function decodeToByteArray(param1:String) : ByteArray
        {
            var _loc_6:uint;
            var _loc_7:uint;
            var _loc_2:* = new ByteArray();
            var _loc_3:* = new Array(4);
            var _loc_4:* = new Array(3);
            var _loc_5:uint;
            while (_loc_5 < param1.length)
            {
                _loc_6 = 0;
                while (_loc_6++ < 4 && _loc_5 + _loc_6 < param1.length)
                {
                    _loc_3[_loc_6] = BASE64_CHARS.indexOf(param1.charAt(_loc_5 + _loc_6));
                }
                _loc_4[0] = (_loc_3[0] << 2) + ((_loc_3[1] & 48) >> 4);
                _loc_4[1] = ((_loc_3[1] & 15) << 4) + ((_loc_3[2] & 60) >> 2);
                _loc_4[2] = ((_loc_3[2] & 3) << 6) + _loc_3[3];
                _loc_7 = 0;
                while (_loc_7++ < _loc_4.length)
                {
                    if (_loc_3[_loc_7 + 1] == 64)
                    {
                        break;
                    }
                    _loc_2.writeByte(_loc_4[_loc_7]);
                }
                _loc_5 = _loc_5 + 4;
            }
            _loc_2.position = 0;
            return _loc_2;
        }// end function
    }
}
Помогите если не сложно, пожалуйста.
 
Я понимаю декомпилировали swf получили .as код, вот тока кто-нить бы сделал этот код в пхп или экзешником, меня интересует как кодировать, пробывал про помощи Base64 Encode/Decoder v1.1, он не может раскодировать стили, закодированые ссылки, пробывал подсунуть на закодирование уже раскодированый стиль, потом подсовывал как стиль в плеер, плеер выдавал что ошибка какая-то.
 
Помогите раскодировать
PHP:
21ARhdj5btj1rf=dMbTB2Nvzdwdf9vwjzaC5kcWwBc9mwkz6kOkeWNthTd0XHZv1X=jO4k82Mvz9sNoTd0EkbCYDAYjOk=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jOTkZvQ6Tf3wVG303hIdwf9zvwjzfUrZ
 
Назад
Сверху