Bonjour,
j'ai essayé de me connecter a Dofus avec mon bot mais je n'ai pas arriver,j'ai cherche , et j'ai trouver qu'il y a un changement au niveau du cryptage de mot de passe , et j'ai fais ça :
a l'aide de code de Lakh, Merci a lui ops:
mais je n'arrive toujours pas a me connecter ,merci de m'aider
ca arrête a l'envoie de id : 4 après je ne reçois rien
j'ai essayé de me connecter a Dofus avec mon bot mais je n'ai pas arriver,j'ai cherche , et j'ai trouver qu'il y a un changement au niveau du cryptage de mot de passe , et j'ai fais ça :
a l'aide de code de Lakh, Merci a lui ops:
Code:
Public Class OunasManager
Public _publicKey As String
Public _salt As String
Public ReadOnly Property Salt()
Get
Return Me._salt
End Get
End Property
Public Function setSalt(ByVal param1 As String)
Me._salt = param1
If (_salt.Length < 32) Then
Console.WriteLine("Authentification salt size is lower than 32")
While (Me._salt.Length < 32)
Me._salt = Me._salt + " "
End While
End If
Return Me
End Function
Public Function setPublicKey(ByVal param1 As List(Of Int32)) As String
Dim loc2 As New List(Of Byte)
Dim loc3 As Int32 = 0
While (loc3 < param1.Count)
loc2.Add(Convert.ToByte(param1(loc3)))
loc3 = loc3 + 1
End While
Dim loc4 = Convert.ToBase64String(loc2.ToArray)
Me._publicKey = loc4
Return Me._publicKey
End Function
Public ReadOnly Property canAutoConnectWithToken() As Boolean
Get
Return Me.nextToken <> Nothing
End Get
End Property
Public Function cipherRsa(ByVal param1 As String) As List(Of Int32)
Dim loc7 As Int32 = 0
Dim rsa As RSACryptoServiceProvider = OunasRSA.DecodeX509PublicKey(Convert.FromBase64String(_publicKey))
If rsa Is Nothing Then Return Nothing
Dim loc5 As List(Of Int32) = New List(Of Int32)
Dim loc4 = rsa.Encrypt(Encoding.UTF8.GetBytes(Me._salt + param1), False)
For Each loc6 In loc4
loc5.Add(Convert.ToByte(loc6))
Next
Return loc5
End Function
End Class
Code:
Dim key = .ObjectValue.Key
Dim Account As String = .Text
Dim Password As String = .MDP.Text
Dim CryptedPassword As List(Of Integer)
Dim PublicKey As String = ""
Dim Salt As String = .ObjectValue.Salt
Dim OunasManager As New OunasManager
PublicKey = OunasManager.setPublicKey(key)
OunasManager.setSalt(Salt)
CryptedPassword = OunasManager.cipherRsa(Password)
Dim Version As New Types.Version.Version
Version.init(2, 5, 3, 0, 0, 0)
' Envoi du packet
Dim MessageEnvoi As New IdentificationMessage
Dim Param1 As New DofusMessage
MessageEnvoi.init(Version, "fr", Account, CryptedPassword, 11, True, True, False)
ca arrête a l'envoie de id : 4 après je ne reçois rien