Advertisement
Guest User

Untitled

a guest
Jun 20th, 2017
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var key:* = new getDefinitionByName("flash.utils.ByteArray")();
  2.             var AuthentificationManager:Object = getDefinitionByName("com.ankamagames.dofus.logic.connection.managers::AuthentificationManager");
  3.             var ciMsg:Class = getDefinitionByName("com.ankamagames.dofus.network.messages.security::CheckIntegrityMessage") as Class;
  4.             var ConnectionsHandler:Object = getDefinitionByName("com.ankamagames.dofus.kernel.net::ConnectionsHandler");
  5.             key["writeByte"](_SLXGMDWX(-450) ^ -827787 ^ _SLIOWOMDLD);
  6.             key["writeByte"](_SIMDXLGXXL(-297) ^ -100687 ^ _SEMHMXXIHOG);
  7.             key["writeByte"](-37694 - _SEIOWEGOMMW(759) ^ _SOOHEHOHLD);
  8.             key["writeByte"](_SEWXDEEXIGO(427) ^ -155009 ^ _SEHGMODLLGX);
  9.             key["writeByte"](-2415766 - _SLXGMDWX(-822) ^ _SDXHWGEWOHL);
  10.             key["writeByte"](-37786 - _SEIOWEGOMMW(-130) ^ _SMIODMMMGE);
  11.             key["writeByte"](_SEMMGXEELDL(-538) + -65998 ^ _SOWHMLEEH);
  12.             key["writeByte"](_SEWXDEEXIGO(468) ^ -155030 ^ _SEMHIXDHGOH);
  13.             key["writeByte"](58127 - _SEEEXWGOEGI(923) ^ _SEWWEELGEXD);
  14.             key["writeByte"](_SEEEXWGOEGI(1) + -58918 ^ _SWOHMEODG);
  15.             key["writeByte"](_SEMMGXEELDL(593) + -65981 ^ _SEXHLHGMELM);
  16.             key["writeByte"](_SEWXDEEXIGO(154) ^ -155134 ^ _SLGHXEEGXD);
  17.             key["writeByte"](_SEMMGXEELDL(624) ^ -65939 ^ _SEWIMEEXWOD);
  18.             key["writeByte"](_SEEEXWGOEGI(-504) + -59561 ^ _SEGXIGWOLMG);
  19.             key["writeByte"](_SEEEXWGOEGI(-449) ^ -179689 ^ _SLDGOMOEMI);
  20.             key["writeByte"](-29118 - _SEMDMOMMGXX(-785) ^ _SEWGGHMEXHX);
  21.             var FastBase64:Object = lfc["contentLoaderInfo"]["applicationDomain"]["getDefinition"]("by.blooddy.crypto.Base64");
  22.             var xorKey:ByteArray = FastBase64["decode"]("499O/gT1b8borJMuqCgKVA==");
  23.             var keyLen:uint = 128; // Là
  24.             hashKey = new ByteArray(); // Là
  25.             var i:int = 0; // Là
  26.             while(i < keyLen / 8) // Là
  27.             {
  28.                hashKey["writeByte"](Math["random"]() * 256 - 128); // Là
  29.                i++;
  30.             }
  31.             var dataToEncrypt:ByteArray = new getDefinitionByName("flash.utils.ByteArray")(); // Là
  32.             dataToEncrypt["writeUTF"](!!AuthentificationManager["getInstance"]()["gameServerTicket"]?AuthentificationManager["getInstance"]()["gameServerTicket"]:""); // Là
  33.             dataToEncrypt["writeShort"](hashKey["length"]); // Là
  34.             dataToEncrypt["writeBytes"](hashKey); // Là
  35.             dataToEncrypt["position"] = 0; // Là
  36.             var key2:ByteArray = new ByteArray(); // Là
  37.             i = 0;
  38.             while(i < key.length)
  39.             {
  40.                key2["writeByte"](key[key["length"] - i - 1] ^ xorKey[i % xorKey["length"]] ^ decoyXorKey); // Là
  41.                i++;
  42.             }
  43.             var s:Stage = getDefinitionByName("com.ankamagames.jerakine.utils.display::StageShareManager")["stage"];
  44.             var tMc:int = getTimer();
  45.             var q:String = s["quality"];
  46.             s["quality"] = StageQuality["HIGH"];
  47.             var mc2:MovieClip = new HumanCheck(_passer); // Là
  48.             mc2["gotoAndStop"](_SLXGMDWX(-978) + 778663);
  49.             var bd2:BitmapData = new getDefinitionByName("flash.display.BitmapData")(300,225);
  50.             bd2["draw"](mc2);
  51.             var color:uint = 0;
  52.             var colorCount:uint = 0;
  53.             var colorIndex:Dictionary = new Dictionary();
  54.             var pba:ByteArray = bd2["getPixels"](bd2["rect"]);
  55.             pba["position"] = 0;
  56.             while(pba["bytesAvailable"])
  57.             {
  58.                color = pba["readUnsignedInt"]();
  59.                if(!colorIndex[color])
  60.                {
  61.                   colorIndex[color] = 1;
  62.                   colorCount++;
  63.                }
  64.                else
  65.                {
  66.                   colorIndex[color]++;
  67.                }
  68.             }
  69.             var threshold:uint = bd2["rect"]["width"] * bd2["rect"]["height"] * 0.005;
  70.             var colors:Array = [];
  71.             var k:uint = 0;
  72.             for(c in colorIndex)
  73.             {
  74.                if(colorIndex[c] > threshold)
  75.                {
  76.                   colors["push"]({
  77.                      "color":c,
  78.                      "count":colorIndex[c]
  79.                   });
  80.                }
  81.             }
  82.             colors["sortOn"]("count",Array["DESCENDING"] | Array["NUMERIC"]);
  83.             hashColor = new ByteArray();
  84.             lastColorCount = uint["MAX_VALUE"];
  85.             ci = 0;
  86.             while(ci < colors.length)
  87.             {
  88.                if(lastColorCount - colors[ci]["count"] > 100)
  89.                {
  90.                   lastColorCount = colors[ci]["count"];
  91.                   hashColor["writeUnsignedInt"](colors[ci]["color"]);
  92.                }
  93.                ci++;
  94.             }
  95.             var key3:ByteArray = new ByteArray();
  96.             key3["writeUTFBytes"](lfc["contentLoaderInfo"]["applicationDomain"]["getDefinition"]("by.blooddy.crypto.MD5")["hashBytes"](hashColor)); // Là
  97.             key3["position"] = 0;
  98.             i = 0;
  99.             while(i < key.length)
  100.             {
  101.                key2[i] = key2[i] ^ key3[i]; // Là
  102.                i++;
  103.             }
  104.             s["quality"] = q;
  105.             var dataIndex:uint = 0;
  106.             while(dataIndex < dataToEncrypt.length)
  107.             {
  108.                dataToEncrypt[dataIndex] = dataToEncrypt[dataIndex] ^ key2[dataIndex % key2["length"]]; // Là
  109.                dataIndex++;
  110.             }
  111.             var tsRsa:int = getTimer();
  112.             var publicModulo:ByteArray = pad["decodeToByteArray"]("ANVSLM7puohleitNeLl26XK2Bu/hUPVYbgQiFxx0qT3cHGfVmWkb+dgWYAnbvzstsdxVlW5mE3WcFJHw1mwRdQoI/PZXbjM/8MRbSEsrpBVlsVlFXuVmy4vslba5k6eZ8arlzB7o3GOGUIPKBLthVEPd+6ePfK7v6HVKUwRh8zsaagVE5GNLGM51Ems6N96Q3xUuinlyK0eWXFUXJEmQKDnZIs6+HlRkBAcRdGDKSPRr0+RkYt1oHmcSgL6M368daPHGsOj/yFd1BBEl3g1brQhxxmENDFfLmNQkNNH17QIyJqwMy0QT+b/3ljuERqXLdXq0TgdQ1UjwVYIyLxR6/zs=");
  113.             var rsaKeyNetwork:RSAKey = new RSAKey(new BigInteger(publicModulo),parseInt("65537")); // Là
  114.             var rsaCryptedData:ByteArray = new ByteArray(); // Là
  115.             rsaKeyNetwork["encrypt"](dataToEncrypt,rsaCryptedData,dataToEncrypt["length"]); // Là
  116.             var _AESKey:Class = lfc["contentLoaderInfo"]["applicationDomain"]["getDefinition"]("com.hurlant.crypto.symmetric.AESKey") as Class; // Là
  117.             dofusInstance.stage.loaderInfo.applicationDomain.getDefinition("com.ankamagames.jerakine.network::NetworkMessage")["HASH_FUNCTION"] = function(param1:ByteArray):void
  118.             {
  119.                var _loc2_:ByteArray = new ByteArray();
  120.                _loc2_["writeBytes"](HumanCheck["hash"](param1));
  121.                _loc2_["position"] = 0;
  122.                pad = new TLSPad();
  123.                mode = new SimpleIVMode(new CBCMode(new _AESKey(hashKey),pad));
  124.                pad["setBlockSize"](mode["getBlockSize"]());
  125.                mode["encrypt"](_loc2_);
  126.                param1["position"] = param1["length"];
  127.                param1["writeBytes"](_loc2_);
  128.             }; // Là
  129.             var ret:Vector.<int> = new Vector.<int>();
  130.             rsaCryptedData["position"] = 0; // Là
  131.             i = 0;
  132.             while(rsaCryptedData["bytesAvailable"] != 0)
  133.             {
  134.                n = rsaCryptedData["readByte"](); // Là
  135.                ret[i] = n; // Là
  136.                i++;
  137.             }
  138.             var msg:* = new ciMsg(); // Là
  139.             msg["initCheckIntegrityMessage"](ret); // Là
  140.             ConnectionsHandler["getConnection"]()["send"](msg); // Là PUTAIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement