Modifier le client statiquement est une mauvaise idée, il y à des checksum de taille et tout ce bazar.
Modifier le client dynamiquement c'est faisable (c'est moi qui avait créer le D2.No.RSA), mais je pense que c'est à utiliser en dernier recours.
Créer un programme qui génère la bonne signature, c'est de cela que nous avons besoins, mais je suis actuellement bloquer sur la ligne
this._key.verify(sigData,decryptedHash,sigData.length);
La signature est déchiffré avec du RSA (fonction
_decrypt() de
RSAKey.as dans
/hurlan/crypto/rsa), donc pour cela il faut que la signature soit créer avec la
Public Key et déchiffré avec la
Private Key. Donc je suppose que dans le client ce trouve la
Private Key pour vérifier la signature, et via une
Private Key on peut ré-générer la
Public Key ET DONC générer nos propre signature
La key c'est
SignedFileAdapter.defaultSignatureKey dans AuthentificationFrames.as (L.261)
Et devinez ce qui ya dans D ofus.as L.423 ?
SignedFileAdapter.defaultSignatureKey = SignatureKey.fromByte(new Constants.SIGNATURE_KEY_DATA() as ByteArray);