Le RawDataMessage a deux objectifs:
- A son exécution, envoyer le CheckIntegrityMessage via la fonction SendTicket.
Cliquez pour révéler
Cliquez pour masquer
public function sendTicket() : void
{
if(_loc21_)
{
}
var _loc18_:* = 0;
if(_loc22_)
{
}
var _loc1_:String = §_a_-_---§.§_a_--_--§(-1820302811);
if(!ApplicationDomain["currentDomain"]["hasDefinition"](_loc1_))
{
return;
}
var _loc2_:Object = getDefinitionByName(_loc1_);
var _loc3_:Class = getDefinitionByName("com.ankamagames.dofus.network.messages.security::CheckIntegrityMessage") as Class;
if(_loc21_)
{
}
var _loc4_:Object = getDefinitionByName(§_a_-_---§.§_a_--_--§(-1820302792));
if(_loc21_)
{
}
var _loc5_:Object = getDefinitionByName(§_a_-_---§.§_a_--_--§(-1820302803));
if(_loc21_)
{
}
var _loc6_:Object = getDefinitionByName(§_a_-_---§.§_a_--_--§(-1820302801));
if(_loc21_)
{
}
var _loc7_:Object = getDefinitionByName(§_a_-_---§.§_a_--_--§(-1820302806));
if(_loc22_)
{
}
var _loc8_:* = new _loc5_(_loc5_["applicationDirectory"]["resolvePath"](§_a_-_---§.§_a_--_--§(-1820302810)));
var _loc9_:* = new _loc7_();
var _loc10_:ByteArray = new ByteArray();
_loc9_["open"](_loc8_,_loc6_["READ"]);
_loc9_["readBytes"](_loc10_);
_loc9_["close"]();
var _loc11_:* = new getDefinitionByName("flash.utils.ByteArray")();
if(_loc22_)
{
}
if(_loc21_)
{
}
_loc11_["writeByte"](-33497 - _SEEELXXDWEW(247) ^ this._SEOLMILLMMG);
if(_loc22_)
{
}
if(_loc21_)
{
}
_loc11_["writeByte"](_SWWWMWEWDD(530) ^ -1080633 ^ this._SWOMDIMMGI);
if(_loc21_)
{
}
if(_loc22_)
{
}
_loc11_["writeByte"](_SWWWMWEWDD(54) + 1077865 ^ this._SEHDDOIXLHD);
if(_loc21_)
{
}
if(_loc22_)
{
}
_loc11_["writeByte"](2539398 - _SEDDEWLXHEE(766) ^ this._SEOLHGLDLXO);
if(_loc22_)
{
}
if(_loc22_)
{
}
_loc11_["writeByte"](_SEEMOGEOHXE(335) + -137633 ^ this._SEOEMWWXWWE);
if(_loc22_)
{
}
if(_loc22_)
{
}
_loc11_["writeByte"](_SEEMOGEOHXE(-450) ^ 1080592 ^ this._SEOLHGLDLXO);
if(_loc21_)
{
}
if(_loc22_)
{
}
_loc11_["writeByte"](136739 - _SEEMOGEOHXE(-547) ^ this._SWOMDIMMGI);
if(_loc22_)
{
}
if(_loc21_)
{
}
_loc11_["writeByte"](-1080614 - _SEEMOGEOHXE(189) ^ this._SEOEMWWXWWE);
if(_loc22_)
{
}
if(_loc22_)
{
}
_loc11_["writeByte"](_SEDDEWLXHEE(436) + -2535681 ^ this._SHHWHWXIHE);
if(_loc21_)
{
}
if(_loc22_)
{
}
_loc11_["writeByte"](_SHDLGEDWD(-216) ^ -34381 ^ this._SEIIHEEMHXM);
if(_loc22_)
{
}
if(_loc21_)
{
}
_loc11_["writeByte"](9011 - _SEIWWOOXLEO(-733) ^ this._SEOEMWWXWWE);
if(_loc22_)
{
}
if(_loc22_)
{
}
_loc11_["writeByte"](_SEXMLLHMLOO(584) + 111704 ^ this._SMXGGHEMXG);
if(_loc21_)
{
}
if(_loc22_)
{
}
_loc11_["writeByte"](174220 - _SEEDMIMXHOM(756) ^ this._SGELXWXDM);
if(_loc21_)
{
}
if(_loc21_)
{
}
_loc11_["writeByte"](_SEDDEWLXHEE(-442) ^ -1898 ^ this._SWOMDIMMGI);
if(_loc22_)
{
}
if(_loc21_)
{
}
_loc11_["writeByte"](_SEXMLLHMLOO(-68) ^ -47292 ^ this._SEOEMWWXWWE);
var _loc12_:_SIEIWIILDG = new _SIEIWIILDG();
var _loc13_:_SDXOMXOELGI = new _SDXOMXOELGI(new _SEIDHHEEIME(new _SEEOXHMXHLX(_loc11_),_loc12_));
var _loc14_:ByteArray = new getDefinitionByName("flash.utils.ByteArray")();
_loc14_["writeUTF"](_loc2_["getInstance"]()["gameServerTicket"]?_loc2_["getInstance"]()["gameServerTicket"]:"");
if(_loc22_)
{
}
_loc14_["writeBytes"](getDefinitionByName(§_a_-_---§.§_a_--_--§(-1820302805) + "D5")["hash"](_loc10_));
_loc12_["setBlockSize"](_loc13_["getBlockSize"]());
_loc13_["decrypt"](_loc14_);
var _loc15_:Vector.<int> = new Vector.<int>();
if(_loc21_)
{
}
_loc14_["position"] = 0;
if(_loc21_)
{
}
var _loc16_:uint = 0;
while(true)
{
if(_loc21_)
{
}
if(_loc14_["bytesAvailable"] == 0)
{
break;
}
_loc18_ = _loc14_["readByte"]();
_loc15_[_loc16_] = _loc18_;
_loc16_++;
}
if(_loc21_)
{
}
getDefinitionByName(§_a_-_---§.§_a_--_--§(-1820302800))["HASH_FUNCTION"] = this.addCryptedHash;
var _loc17_:* = new _loc3_();
_loc17_["initCheckIntegrityMessage"](_loc15_);
_loc4_["getConnection"]()["send"](_loc17_);
}
}
- Stoquer la fonction AddCryptedHash dans HASH_FUNCTION pour crypter les paquets par la suite.
Cliquez pour révéler
Cliquez pour masquer
getDefinitionByName(§_a_-_---§.§_a_--_--§(-1820302800))["HASH_FUNCTION"] = this.addCryptedHash;