Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package cn.pplive.player.utils
- {
- import flash.net.*;
- import flash.utils.*;
- public class Utils extends Object
- {
- public static var BASE64_KEY:String = "kioe257ds";
- private static const BASE64_CHARS:String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
- public static var ChListId:String;
- public static var ChannelId:String;
- public static var CatalogId:String;
- public function Utils()
- {
- return;
- }// end function
- public static function decodePlayLink(param1:String = "") : void
- {
- var _loc_6:* = null;
- param1 = param1.replace(/pptv:\/\/([^\/]+)\.*/, "$1");
- var _loc_2:* = new URLVariables(decodeBase64(param1, "pplive"));
- var _loc_3:* = "-1";
- var _loc_4:* = "-1";
- var _loc_5:* = "0";
- for (_loc_6 in _loc_2)
- {
- switch(_loc_6.toString())
- {
- case "a":
- {
- _loc_3 = _loc_2[_loc_6].toString();
- ChListId = _loc_3;
- break;
- }
- case "b":
- {
- CatalogId = _loc_2[_loc_6].toString();
- break;
- }
- case "c":
- {
- _loc_5 = _loc_2[_loc_6].toString();
- break;
- }
- case "d":
- {
- _loc_4 = _loc_2[_loc_6].toString();
- break;
- }
- default:
- {
- break;
- }
- }
- }
- if (_loc_5 == "0")
- {
- ChannelId = _loc_3;
- }
- else
- {
- ChannelId = _loc_4;
- }
- return;
- }// end function
- public static function decodeBase64(param1:String, param2:String = null) : String
- {
- if (!param2)
- {
- param2 = BASE64_KEY;
- }
- var _loc_3:* = new ByteArray();
- _loc_3 = decodeToByteArray(param1);
- _loc_3.position = 0;
- var _loc_4:* = new ByteArray();
- _loc_4.length = _loc_3.length;
- _loc_4.position = 0;
- var _loc_5:* = new ByteArray();
- _loc_5.writeUTFBytes(param2);
- _loc_5.position = 0;
- var _loc_6:* = 0;
- while (_loc_6 < _loc_3.length)
- {
- _loc_4[_loc_6] = _loc_3[_loc_6] - _loc_5[_loc_6 % _loc_5.length];
- _loc_6 = _loc_6 + 1;
- }
- _loc_4.position = 0;
- return _loc_4.readUTFBytes(_loc_4.bytesAvailable);
- }// end function
- public static function decodeToByteArray(param1:String) : ByteArray
- {
- var _loc_6:* = 0;
- var _loc_7:* = 0;
- var _loc_2:* = new ByteArray();
- var _loc_3:* = new Array(4);
- var _loc_4:* = new Array(3);
- var _loc_5:* = 0;
- 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_6 = _loc_6 + 1;
- }
- _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_7 = _loc_7 + 1;
- }
- _loc_5 = _loc_5 + 4;
- }
- _loc_2.position = 0;
- return _loc_2;
- }// end function
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement