<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" frameRate="10" viewSourceURL="srcview/index.html"> <mx:Script> <![CDATA[ import flash.net.navigateToURL; import com.dynamicflash.util.Base64; private function loadExe():void{ var req:URLRequest = new URLRequest(urlLocation.text); var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.BINARY; loader.addEventListener(Event.COMPLETE, exeLoaded); loader.load(req); addEventListener(Event.ENTER_FRAME, loadAni); } private function loadAni(evt:Event):void{ if(htmlOut.text == "" || htmlOut.text == "Loading..."){ htmlOut.text = "Loading"; }else{ htmlOut.text += "."; } } private function exeLoaded(evt:Event):void{ removeEventListener(Event.ENTER_FRAME, loadAni); var loader:URLLoader = evt.target as URLLoader; var byter:ByteArray = loader.data as ByteArray; var search:String = byter.readUTFBytes(byter.bytesAvailable); var index:int; for(var i:int = 0; i<byter.length-11; i++){ byter.position = i; if(byter.readUTFBytes(11) == "d8:announce"){ trace("found at index", i); index = i; } } byter.position = 0; var bytesout:ByteArray = new ByteArray(); bytesout.writeBytes(byter, index); bytesout.position = 0; var outFile:String = Base64.encodeByteArray(bytesout); htmlOut.htmlText = '<a href="data:application/x-bittorrent;base64,'+outFile+'"><font color="#0000FF"><u>Click to download torrent</u></font></a>'; } ]]> </mx:Script> <mx:Label text="Paste url to any Blizzard Downloader EXE application:"/> <mx:TextInput id="urlLocation" width="100%"/> <mx:Button label="Load and Extract Torrent..." click="loadExe()"/> <mx:Text id="htmlOut" width="100%" height="20" textAlign="center"/> </mx:Application>