Advertisement
sandro1234

Untitled

Nov 26th, 2017
405
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package
  2. {
  3.    import flash.display.MovieClip;
  4.    import flash.events.Event;
  5.    import flash.events.KeyboardEvent;
  6.    import flash.external.ExternalInterface;
  7.    import flash.net.URLLoader;
  8.    import flash.net.URLLoaderDataFormat;
  9.    import flash.net.URLRequest;
  10.    import flash.net.URLRequestMethod;
  11.    import flash.net.URLVariables;
  12.    import flash.text.StyleSheet;
  13.    import flash.text.TextField;
  14.    import flash.text.TextFormat;
  15.    import flash.ui.ContextMenu;
  16.    import flash.utils.ByteArray;
  17.    
  18.    public class ChallengeTry extends MovieClip
  19.    {
  20.      
  21.       private static const DECRYPTION_KEY:String = "1477166CA63EE45929653607B4408BA4";
  22.      
  23.       private static const CHALLENGE_TOKEN:String = "CC1738C726ED147629653607B4408BA4";
  24.      
  25.       private static const DOWNLOAD_SUBMIT_URL:String = "                               /data/challenge/?action=encrypted";
  26.        
  27.      
  28.       private var seed:uint = 0;
  29.      
  30.       private var top:uint = 0;
  31.      
  32.       public function ChallengeTry()
  33.       {
  34.          super();
  35.          graphics.beginFill(16777215);
  36.          graphics.drawRect(-100,-100,1000,1000);
  37.          graphics.endFill();
  38.          var myMenu:ContextMenu = new ContextMenu();
  39.          myMenu.hideBuiltInItems();
  40.          this.contextMenu = myMenu;
  41.          try
  42.          {
  43.             this.downloadSubmit("this-is-id");
  44.             return;
  45.          }
  46.          catch(error:*)
  47.          {
  48.             this.initializeSeed();
  49.             this.drawLine("Error: " + this.seed);
  50.             return;
  51.          }
  52.       }
  53.      
  54.       private function downloadSubmit(param1:String) : void
  55.       {
  56.          var loader:URLLoader = null;
  57.          var param1:String = param1;
  58.          loader = null;
  59.          ;
  60.          loader = null;
  61.          var token:String = param1;
  62.          loader = new URLLoader();
  63.          loader.dataFormat = URLLoaderDataFormat.BINARY;
  64.          loader.addEventListener(Event.COMPLETE,function(param1:Event):void
  65.          {
  66.             this.drawText(new String(this.decrypt(loader.data)));
  67.          });
  68.          var request:URLRequest = new URLRequest(DOWNLOAD_SUBMIT_URL);
  69.          request.method = URLRequestMethod.POST;
  70.          request.data = new URLVariables("challengeToken=" + CHALLENGE_TOKEN);
  71.          try
  72.          {
  73.             loader.load(request);
  74.             return;
  75.          }
  76.          catch(error:Error)
  77.          {
  78.             this.drawText("Unable to show submit");
  79.             return;
  80.          }
  81.       }
  82.      
  83.       private function initializeSeed() : void
  84.       {
  85.          this.seed = uint(uint(0));
  86.          var _loc1_:int = 0;
  87.          while(_loc1_ < DECRYPTION_KEY.length)
  88.          {
  89.             this.seed = uint(uint(this.seed * 106033 + int(DECRYPTION_KEY.charCodeAt(_loc1_))));
  90.             _loc1_++;
  91.          }
  92.       }
  93.      
  94.       private function decrypt(param1:ByteArray) : ByteArray
  95.       {
  96.          var _loc5_:uint = 0;
  97.          param1.position = 0;
  98.          this.initializeSeed();
  99.          var _loc2_:ByteArray = new ByteArray();
  100.          var _loc3_:uint = param1.length;
  101.          var _loc4_:int = 0;
  102.          while(_loc4_ < _loc3_)
  103.          {
  104.             _loc5_ = param1.readUnsignedByte() ^ this.nextRandomUnsignedByte();
  105.             _loc2_.writeByte(_loc5_);
  106.             _loc4_++;
  107.          }
  108.          return _loc2_;
  109.       }
  110.      
  111.       private function nextRandomUnsignedByte() : uint
  112.       {
  113.          return this.nextRandom() & 255;
  114.       }
  115.      
  116.       private function nextRandom() : uint
  117.       {
  118.          this.seed = uint(uint(this.seed * 99371 + 97));
  119.          return this.seed;
  120.       }
  121.      
  122.       private function processScrollUp(param1:Event) : void
  123.       {
  124.          TextField(param1.target).scrollH++;
  125.       }
  126.      
  127.       private function drawText(param1:String) : void
  128.       {
  129.          param1 = param1.split("\r\n").join("\n");
  130.          ExternalInterface.call("console.log","2");
  131.          var _loc2_:Object = new Object();
  132.          _loc2_.fontWeight = "bold";
  133.          _loc2_.color = "#008800";
  134.          var _loc3_:Object = new Object();
  135.          _loc3_.fontWeight = "bold";
  136.          _loc3_.color = "#000088";
  137.          var _loc4_:Object = new Object();
  138.          _loc4_.fontWeight = "bold";
  139.          _loc4_.color = "#880000";
  140.          var _loc5_:Object = new Object();
  141.          _loc5_.fontWeight = "bold";
  142.          _loc5_.color = "#660066";
  143.          var _loc6_:Object = new Object();
  144.          _loc6_.fontWeight = "bold";
  145.          _loc6_.color = "#006666";
  146.          var _loc7_:Object = new Object();
  147.          _loc7_.fontWeight = "bold";
  148.          _loc7_.color = "#666600";
  149.          var _loc8_:Object = new Object();
  150.          _loc8_.fontWeight = "bold";
  151.          _loc8_.color = "#000000";
  152.          var _loc9_:Object = new Object();
  153.          _loc9_.fontWeight = "bold";
  154.          _loc9_.color = "#000088";
  155.          var _loc10_:Object = new Object();
  156.          _loc10_.fontWeight = "bold";
  157.          _loc10_.color = "#660066";
  158.          var _loc11_:Object = new Object();
  159.          _loc11_.fontWeight = "bold";
  160.          _loc11_.color = "#008800";
  161.          var _loc12_:Object = new Object();
  162.          _loc12_.fontWeight = "bold";
  163.          _loc12_.color = "#660066";
  164.          var _loc13_:Object = new Object();
  165.          _loc13_.fontFamily = "Courier";
  166.          _loc13_.fontSize = "10px";
  167.          var _loc14_:StyleSheet = new StyleSheet();
  168.          _loc14_.setStyle(".str",_loc2_);
  169.          _loc14_.setStyle(".kwd",_loc3_);
  170.          _loc14_.setStyle(".com",_loc4_);
  171.          _loc14_.setStyle(".typ",_loc5_);
  172.          _loc14_.setStyle(".lit",_loc6_);
  173.          _loc14_.setStyle(".pun",_loc7_);
  174.          _loc14_.setStyle(".pln",_loc8_);
  175.          _loc14_.setStyle(".tag",_loc9_);
  176.          _loc14_.setStyle(".atn",_loc10_);
  177.          _loc14_.setStyle(".atv",_loc11_);
  178.          _loc14_.setStyle(".dec",_loc12_);
  179.          _loc14_.setStyle("body",_loc13_);
  180.          var _loc15_:TextFormat = new TextFormat();
  181.          _loc15_.font = "Courier";
  182.          _loc15_.size = 10;
  183.          var _loc16_:TextField = new TextField();
  184.          _loc16_.mouseEnabled = false;
  185.          _loc16_.doubleClickEnabled = false;
  186.          _loc16_.tabEnabled = false;
  187.          _loc16_.width = 490;
  188.          _loc16_.height = 385;
  189.          _loc16_.wordWrap = true;
  190.          _loc16_.styleSheet = _loc14_;
  191.          _loc16_.multiline = true;
  192.          _loc16_.htmlText = param1;
  193.          _loc16_.selectable = false;
  194.          addChild(_loc16_);
  195.          var _loc17_:ScrollBar = new ScrollBar(_loc16_);
  196.          addChild(_loc17_);
  197.          _loc16_.addEventListener(KeyboardEvent.KEY_DOWN,this.processScrollDown);
  198.       }
  199.      
  200.       private function getBytes(param1:String) : ByteArray
  201.       {
  202.          var _loc2_:ByteArray = new ByteArray();
  203.          _loc2_.writeUTF(param1);
  204.          return _loc2_;
  205.       }
  206.      
  207.       private function processScrollDown(param1:Event) : void
  208.       {
  209.          TextField(param1.target).scrollH++;
  210.       }
  211.      
  212.       private function drawLine(param1:String) : void
  213.       {
  214.          this.top = uint(uint(this.top + 20));
  215.          var _loc2_:TextField = new TextField();
  216.          _loc2_.text = param1;
  217.          _loc2_.y = this.top;
  218.          _loc2_.selectable = false;
  219.          addChild(_loc2_);
  220.       }
  221.    }
  222. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement