Bonjour,
j'ai remarqué lors de la réception du packet 110 que le pseudo du personnage est crypté
Je suis donc allé voir dans crypto/hash et j'y trouve plusieurs classes (Ihash, md5, md2,..)
J'ai donc pensé à HMAC :
La traduction de cette classe en vb.net suffit-elle pour décrypter le packet 110 ?
Merci
j'ai remarqué lors de la réception du packet 110 que le pseudo du personnage est crypté
Je suis donc allé voir dans crypto/hash et j'y trouve plusieurs classes (Ihash, md5, md2,..)
J'ai donc pensé à HMAC :
Code:
package com.hurlant.crypto.hash
{
import flash.utils.*;
import obfuscated.namespace0B56.*;
public class HMAC extends Object implements IHMAC
{
private var hash:IHash;
private var bits:uint;
public function HMAC(param1:IHash, param2:uint = 0)
{
super();
this.hash = param1;
this.bits = param2;
}
public function getHashSize() : uint
{
if(this.bits != 0)
{
return this.bits / 8;
}
return this.hash.getHashSize();
}
public function compute(param1:ByteArray, param2:ByteArray) : ByteArray
{
var _loc_3:ByteArray = null;
if(param1.length > this.hash.getInputSize())
{
_loc_3 = this.hash.hash(param1);
}
else
{
_loc_3 = new ByteArray();
_loc_3.writeBytes(param1);
}
while(_loc_3.length < this.hash.getInputSize())
{
_loc_3[_loc_3.length] = 0;
}
var _loc_4:ByteArray = new ByteArray();
var _loc_5:ByteArray = new ByteArray();
var _loc_6:uint = 0;
while(_loc_6 < _loc_3.length)
{
_loc_4[_loc_6] = _loc_3[_loc_6] ^ 54;
_loc_5[_loc_6] = _loc_3[_loc_6] ^ 92;
_loc_6 = _loc_6 + 1;
}
_loc_4.position = _loc_3.length;
_loc_4.writeBytes(param2);
var _loc_7:ByteArray = this.hash.hash(_loc_4);
_loc_5.position = _loc_3.length;
_loc_5.writeBytes(_loc_7);
var _loc_8:ByteArray = this.hash.hash(_loc_5);
if(this.bits > 0 && this.bits < (8 * _loc_8.length))
{
_loc_8.length = this.bits / 8;
}
return _loc_8;
}
public function dispose() : void
{
this.hash = null;
this.bits = 0;
}
public function toString() : String
{
return "hmac-" + (this.bits > 0 ? this.bits + "-" : "") + this.hash.toString();
}
}
}
Merci