Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //EXTRACTED FROM http://www.channel4.com/all4fplayer/1.0.291/4odplayer_bips_r.swf
- //https://web.archive.org/web/20180123001617/http://www.channel4.com/all4fplayer/1.0.291/4odplayer_bips_r.swf
- //AND YOU WONDER WHY PEOPLE RESORT TO TORRENTS...
- //START MAIN.AS SNIPPET
- private function getABfilelist(param1:int = 0) : Array
- {
- var _loc2_:String = "If you are looking at this code, you shouldn\'t be. It\'s not an arms race. It\'s not a silly game.";
- //YES, CHANNEL4, IT IS AN ARMS RACE. AND YOU STARTED IT.
- var _loc3_:* = [];
- if(param1 == 0)
- {
- _loc3_.push(assetInfo.fwAdManagerBaseURL + "/p/c4_live/UberlayProxyCreative.swf");
- _loc3_.push(assetInfo.fwAdManagerBaseURL + "/p/c4_live/UberlayAdRenderer.swf");
- _loc3_.push(assetInfo.fwAdManagerBaseURL + "/p/c4_live/VPAIDAdRenderer.swf");
- _loc3_.push(assetInfo.fwAdManagerBaseURL + "/p/c4_live/VastTranslator.swf");
- _loc3_.push(assetInfo.fwAdManagerBaseURL + "/p/c4_live/ExternalHTMLAdRenderer.swf");
- _loc3_.push(assetInfo.fwAdManagerBaseURL + "/p/c4_live/Video2AdRenderer.swf");
- _loc3_.push(assetInfo.fwAdManagerBaseURL + "/p/c4_live/PauseAdExtension.swf");
- _loc3_.push("http://cdn.innovid.com/2.33.4747/platform/vpaid/VPAIDIRollPackage.swf");
- }
- else if(param1 == 1)
- {
- _loc3_.push(assetInfo.fwServer + AdblockUtils.randomWord() + "=" + AdblockUtils.randomWord());
- _loc3_.push(assetInfo.fwServerBaseURL + "/ad/l/1?" + AdblockUtils.randomWord() + "=" + AdblockUtils.randomWord());
- _loc3_.push("http://b.scorecardresearch.com/p?c1=1&c2=[" + AdblockUtils.randomParam() + "]&c4=947&c5=01&c6=[" + AdblockUtils.randomParam() + "]");
- _loc3_.push("http://ad-emea.doubleclick.net/ad/N6311.104.CHANNEL41/B8063750;sz=1x1;ord=[" + AdblockUtils.randomParam() + "]?");
- _loc3_.push("http://static.innovid.com/iroll/config/1hkcc2.xml?cb=[" + AdblockUtils.randomParam() + "]");
- _loc3_.push("http://s.innovid.com/1x1.gif?channel%5Fid=131&website=http%3A%2F%2Fpreview%2Einnovid%2Ecom&viewer%5Fid=[" + AdblockUtils.randomParam() + "]&video%5Fid=3323&publisher%5Fid=68&session%5Fid=[" + AdblockUtils.randomParam() + "]&size=640x360&project%5Fhash=1hk7rt&fver=WIN%2011%2C8%2C800%2C168&ver=2%2E4%2E3&r=[" + AdblockUtils.randomParam() + "]&placement%5Ftag%5Fid=0&client%5Fid=68&project%5Fstate=0&action=init");
- }
- else if(param1 == 2)
- {
- _loc3_.push(assetInfo.fwAdManagerBaseURL + "/p/c4_live/AdManager.swf?logLevel=QUIET&cb=1");
- }
- else if(param1 == 3)
- {
- _loc3_.push(assetInfo.fwServer);
- }
- else if(param1 == 4)
- {
- _loc3_.push("http://ak.http.anno.channel4.com/m/1/174057/" + AdblockUtils.randomNumber(1) + "/" + AdblockUtils.randomNumber(6) + "/" + AdblockUtils.randomWord(2).toUpperCase() + "_" + AdblockUtils.randomWord().toUpperCase() + "_" + AdblockUtils.randomWord(4).toUpperCase() + "_" + AdblockUtils.randomWord(5).toUpperCase() + ".mp4");
- _loc3_.push("http://cf.http.anno.channel4.com/m/1/174057/" + AdblockUtils.randomNumber(1) + "/" + AdblockUtils.randomNumber(6) + "/" + AdblockUtils.randomWord(3).toUpperCase() + "-" + AdblockUtils.randomWord(2).toUpperCase() + "_" + AdblockUtils.randomWord().toUpperCase() + "_" + AdblockUtils.randomWord(3).toUpperCase() + "_" + AdblockUtils.randomWord(5).toUpperCase() + ".mp4");
- }
- return _loc3_;
- }
- private function checkABprelim() : void
- {
- var _loc2_:Array = getABfilelist(3);
- var _loc1_:AdblockChecker = new AdblockChecker(_loc2_[randRange(1,_loc2_.length) - 1],"POST");
- _loc1_.init();
- _loc1_.addEventListener("AB",onABFound);
- _loc1_.addEventListener("ANB",checkABprelimTwo);
- }
- private function checkABprelimTwo(param1:Event) : void
- {
- var _loc3_:Array = getABfilelist(4);
- var _loc2_:AdblockChecker = new AdblockChecker(_loc3_[randRange(1,_loc3_.length) - 1]);
- _loc2_.init();
- _loc2_.addEventListener("AB",onABFound);
- _loc2_.addEventListener("ANB",checkABmain);
- }
- private function checkABmain(param1:Event) : void
- {
- §_-t§ = false;
- var _loc3_:Array = getABfilelist(0);
- var _loc2_:AdblockChecker = new AdblockChecker(_loc3_[randRange(1,_loc3_.length) - 1]);
- _loc2_.init();
- _loc2_.addEventListener("AB",onABFound);
- _loc2_.addEventListener("ANB",onABNotFound);
- }
- private function checkABsecondary() : void
- {
- var _loc2_:Array = getABfilelist(2);
- var _loc1_:AdblockChecker = new AdblockChecker(_loc2_[randRange(1,_loc2_.length) - 1]);
- _loc1_.init();
- _loc1_.addEventListener("AB",onABFoundSecondary);
- _loc1_.addEventListener("ANB",onABNotFoundSecondary);
- }
- private function onABNotFoundSecondary(param1:Event) : void
- {
- §_-t§ = false;
- var _loc2_:Array = getABfilelist(4);
- var _loc3_:AdblockChecker = new AdblockChecker(_loc2_[randRange(1,_loc2_.length) - 1]);
- _loc3_.init();
- _loc3_.addEventListener("AB",onABFoundSecondary);
- }
- private function onABNotFound(param1:Event) : void
- {
- §_-t§ = false;
- var _loc2_:Array = getABfilelist(1);
- var _loc3_:AdblockChecker = new AdblockChecker(_loc2_[randRange(1,_loc2_.length) - 1]);
- _loc3_.init();
- _loc3_.addEventListener("AB",onABFound);
- _loc3_.addEventListener("ANB",onABNotFound_b);
- }
- //END MAIN.AS SNIPPET
- //START UTILS.ADBLOCKCHECKER.AS
- package utils
- {
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.events.HTTPStatusEvent;
- import flash.events.IOErrorEvent;
- import flash.events.SecurityErrorEvent;
- import flash.net.URLLoader;
- import flash.net.URLRequest;
- import flash.net.URLVariables;
- public class AdblockChecker extends Sprite
- {
- private static const AB:String = "AB";
- private static const ANB:String = "ANB";
- private var §_-3J§:URLLoader;
- private var request:URLRequest;
- private var dataFormat:String = "text";
- private var §_-5c§:Boolean = false;
- private var §_-4u§:Boolean = false;
- private var status:String = "";
- private var data:String;
- private var sMethod:String;
- public function AdblockChecker(param1:String = "http://2a7e9.v.fwmrm.net/crossdomain.xml", param2:String = "GET")
- {
- var _loc3_:* = null;
- super();
- sMethod = param2;
- request = new URLRequest(param1);
- if(sMethod == "POST")
- {
- _loc3_ = new URLVariables();
- _loc3_.ignore = "true";
- request.data = _loc3_;
- request.method = "POST";
- }
- }
- public function init() : void
- {
- §_-3J§ = new URLLoader();
- §_-3J§.dataFormat = dataFormat;
- §_-3J§.addEventListener("complete",completeHandler,false,0,true);
- §_-3J§.addEventListener("ioError",IOErrorHandler,false,0,true);
- §_-3J§.addEventListener("securityError",secErrorHandler,false,0,true);
- §_-3J§.addEventListener("httpStatus",httpStatusHandler,false,0,true);
- §_-3J§.load(request);
- }
- private function httpStatusHandler(param1:HTTPStatusEvent) : void
- {
- status = param1.status.toString();
- §_-5c§ = true;
- doCheck();
- }
- private function doCheck() : void
- {
- if(§_-5c§ && §_-4u§)
- {
- if((§_-3J§.data == null || §_-3J§.data.toString() == "") && status == "0" || §_-3J§.data.toString().lastIndexOf("Fiddler") > -1)
- {
- dispatchEvent(new Event("AB"));
- }
- else
- {
- dispatchEvent(new Event("ANB"));
- }
- §_-5c§ = false;
- §_-4u§ = false;
- }
- }
- private function IOErrorHandler(param1:IOErrorEvent) : void
- {
- data = §_-3J§.data;
- §_-4u§ = true;
- doCheck();
- }
- private function secErrorHandler(param1:SecurityErrorEvent) : void
- {
- data = §_-3J§.data;
- §_-4u§ = true;
- doCheck();
- }
- private function completeHandler(param1:Event) : void
- {
- dispatchEvent(new Event("ANB"));
- data = §_-3J§.data;
- }
- public function getURL() : String
- {
- var _loc1_:String = "";
- if(request)
- {
- _loc1_ = request.url;
- }
- return _loc1_;
- }
- }
- }
- //END UTILS.ADBLOCKCHECKER.AS
- //START UTILS.ADBLOCKUTILS.AS
- package utils
- {
- import flash.display.Loader;
- import flash.net.URLRequest;
- import flash.system.ApplicationDomain;
- import flash.system.LoaderContext;
- public class AdblockUtils
- {
- public function AdblockUtils()
- {
- super();
- }
- public static function randomWord(param1:int = 6) : String
- {
- var _loc6_:int = 0;
- var _loc4_:* = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];
- var _loc3_:Array = new Array(param1);
- var _loc2_:String = "";
- var _loc5_:* = 0;
- _loc6_ = 0;
- while(_loc6_ < _loc3_.length)
- {
- _loc5_ = Number(int(Math.random() * _loc4_.length));
- _loc2_ = _loc2_ + _loc4_.splice(_loc5_,1)[0];
- _loc6_++;
- }
- return _loc2_;
- }
- public static function randomParam() : String
- {
- var _loc5_:int = 0;
- var _loc3_:* = ["R","A","N","D","O","M","_","N","U","M","B","E","R"];
- var _loc2_:Array = new Array(_loc3_.length);
- var _loc1_:String = "";
- var _loc4_:* = 0;
- _loc5_ = 0;
- while(_loc5_ < _loc2_.length)
- {
- _loc4_ = Number(int(Math.random() * _loc3_.length));
- _loc1_ = _loc1_ + _loc3_.splice(_loc4_,1)[0];
- _loc5_++;
- }
- return _loc1_;
- }
- public static function randomNumber(param1:int = 5) : Number
- {
- return randRange(Math.pow(10,param1),Math.pow(10,param1 + 1) - 1);
- }
- private static function randRange(param1:Number, param2:Number) : Number
- {
- return Math.floor(Math.random() * (param2 - param1 + 1)) + param1;
- }
- }
- }
- //END UTILS.ADBLOCKUTILS.AS
- //START MODEL.FREEWHEELBOOTSTRAP.AS
- package model
- {
- import flash.events.Event;
- import flash.events.IOErrorEvent;
- public class FreewheelBootstrap
- {
- public var fwServer:String = "http://2a7e9.v.fwmrm.net/";
- public var fwServerBaseURL:String = "http://2a7e9.v.fwmrm.net";
- public var fwNetworkId:Number = 174057;
- public var fwProfile:String = "174057:c4_simulcast_live";
- public var fwProfileName:String;
- public var fwSiteSectionId:String = "watchlive.channel4.com/E4";
- public var fwAdManagerLocation:String = "http://adm.fwmrm.net/p/c4_simulcast_live/AdManager.swf";
- public var fwAdManagerBaseURL:String;
- public var fwLogLevel:String = "QUIET";
- public var fwCacheBuster:int = 1;
- public function FreewheelBootstrap(param1:String)
- {
- var _loc4_:* = null;
- var _loc2_:* = null;
- var _loc3_:* = null;
- var _loc5_:* = null;
- super();
- if(param1 != null && param1 != "null" && param1 != "" && param1 != "undefined")
- {
- _loc4_ = JSON.parse(param1) as Object;
- }
- if(_loc4_ != null)
- {
- fwServer = _loc4_.fwServer;
- _loc2_ = fwServer.split("/ad/");
- if(_loc2_.length < 2)
- {
- fwServerBaseURL = fwServer;
- }
- else
- {
- fwServerBaseURL = _loc2_[0];
- }
- fwNetworkId = parseFloat(_loc4_.fwNetworkId);
- fwProfile = _loc4_.fwProfile;
- _loc3_ = fwProfile.split(":");
- if(_loc3_.length < 2)
- {
- fwProfileName = fwProfile;
- }
- else
- {
- fwProfileName = _loc3_[1];
- }
- fwAdManagerLocation = _loc4_.fwAdManagerLocation;
- _loc5_ = fwAdManagerLocation.split("/p/");
- if(_loc5_.length < 2)
- {
- fwAdManagerBaseURL = "http://adm.fwmrm.net";
- }
- else
- {
- fwAdManagerBaseURL = _loc5_[0];
- }
- fwLogLevel = _loc4_.fwLogLevel;
- fwCacheBuster = parseInt(_loc4_.fwCacheBuster);
- fwSiteSectionId = _loc4_.siteSectionId;
- }
- }
- public function updateSiteSection(param1:String) : void
- {
- var _loc2_:Array = fwSiteSectionId.split("/");
- if(_loc2_.length > 1)
- {
- fwSiteSectionId = _loc2_[0] + "/" + param1;
- }
- }
- }
- }
- //END MODEL.FREEWHEELBOOTSTRAP.AS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement