The following is from a discussion with Oliboli.
Hey,
I looked into EpicDuel a little bit a long time ago and produced this.
The loader is fully functional, but I struggled to manipulate the game's code. I managed to find away to target the game's classes individually but it's very unproductive and rarely had any effect. The game is built differently to AQWorlds.
I don't know how much experience you have, but take a look and see what you can do. My only success was really with the game loader.
paste bin . com/ApGsJKs1
Oliboli8769
Here is the info from that pastebin website:
Code:
//Author: Oliboli8769
Security.allowDomain("*");
import flash.net.URLRequest;
import flash.display.Loader;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.external.ExternalInterface;
var sURL = "https://epicduelcdn.arti*****m/omegaLoader11.swf";
var swfContext:LoaderContext;
var mLoader:Loader = new Loader();
var objLoader:Object;
var EpicDuel:Object;
var ED:Object;
var EPrizeModule:Class;
startLoad();
function startLoad()
{
var mRequest:URLRequest = (new URLRequest(sURL));
mLoader.contentLoaderInfo.addEventListener(Even*****MPLETE, onLoaderComplete);
mLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onLoaderProgress);
mLoader.load(mRequest);
}
function onLoaderProgress(progress:ProgressEvent)
{
var percent:Number = progress.bytesLoaded / progress.bytesTotal;
trace("LOADER: " + percent);
}
function onLoaderComplete(loadEvent:Event)
{
trace("Loader complete. Game load starting. \n -------------------------");
stage.addChildAt(loadEvent.currentTarge*****ntent, 0);
objLoader = Object(loadEvent.currentTarge*****ntent);
objLoader.gameLoader.contentLoaderInfo.addEventListener(Even*****MPLETE, onGameComplete);
objLoader.gameLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onGameProgress);
}
function onGameProgress(progress:ProgressEvent)
{
var percent:Number = progress.bytesLoaded / progress.bytesTotal;
trace("GAME: " + percent);
}
function onGameComplete(loadEvent:Event)
{
EpicDuel = Object(loadEvent.currentTarge*****ntent);
//ED = EpicDuel.instance();
EPrizeModule = loadEvent.target.applicationDomain.getDefinition("PrizeModule") as Class;
//ESmartFox = loadEvent.target.applicationDomain.getDefinition("com.sfs.SmartFoxClient") as Class;
//ESmartFox = loadEvent.target.applicationDomain.getDefinition("com.sfs.SmartFoxClient") as Class;
trace("Game complete.");
}