Salut,
J'essaie de me connecter au serveur à travers un proxy.
Je reçois le
SelectedServerDataExtendedMessage
que je modifie pour rediriger le client vers
127.0.0.1:8081
J'envoie le 6469 modifié au client ensuite je coupe la connexion avec le serveur puis avec le client.
Jusqu'ici pas de soucis :cool:.
Le problème cest que le client n'ouvre pas une nouvelle connexion sur le socket que je précise.
J'ai un ncat qui tourne dessus mais je ne reçois rien :'(.
Voilà le code:
P.S. J'utilise le [de]serializer de @Labo .
frag # contient le message 6469
buff # bytearray() contient d'autre msgs reçu + le 6469
header = frag.readUnsignedShort()
lenlen = header & 3
oldlen = int.from_bytes(frag.read(lenlen),"big")
oldheader = bytearray(header.to_bytes(2,"big")) # = header + datalen
for b in oldlen.to_bytes(lenlen,"big"):
oldheader.append(b)
# je modifie l'@/port
buff = buff.replace(real_addr, fake_addr)
buff = buff.replace(real_port, fake_port)
# l'adresse local fait 4 octet en moins que @ du serveur du jeu
newlen = oldlen - 4
# vérifie qu'ils ont la même taille en octet sinon je maj le header
checkBytes(newlen, oldlen)
newheader = bytearray(header.to_bytes(2,"big")) # = header + newdatalen
for b in newlen.to_bytes(lenlen,"big"):
newheader.append(b)
# modifie le header + datalen du 6469
buff = buff.replace(oldheader, newheader)
Ensuite j'envoie
buff
au client, je ferme le socket du serveur puis celui du client.
Je log tout et je vérifie que mes modifs du 6469 ne change pas les autres messages dans
buff
(avec un hash basique).
Voici les 6469 avant et après modification:
24 00 0d 36 33 2e 33 34 2e 31 30 33 2e 32 31 33 00 02 00 00 15 b3 00 00 01 bb 01 20
62885d6d4ea2dcbda87f27d4ec38ab4df54d5d997ee8aa5a0de3245ccd27ce46001102320403000005000000000000000002d2010003000002000000000000000000cb010003000002000000000000000002ce010003000002000000000000000002d1010003000002000000000000000002d40100030000020000000000000000022400030003054276e66fa100900000c9010003000002000000000000000000cc010003000002000000000000000002cf010003000002000000000000000000160107000005000000000000000003de010003000002000000000000000000630303000005000000000000000000ca010003000002000000000000000002cd010003000002000000000000000002d0010003000002000000000000000002d30100030000020000000000000000
36 33 2e 33 34 2e 31 30 33 2e 32 31 33
correspond bien à 63.34.103.213,
15 b3
à 5555 et
01 bb
à 443
24 00 0d 31 32 37 2e 30 2e 30 2e 31 00 02 00 00 1f 91 00 00 01 bb 01 20
62885d6d4ea2dcbda87f27d4ec38ab4df54d5d997ee8aa5a0de3245ccd27ce46001102320403000005000000000000000002d2010003000002000000000000000000cb010003000002000000000000000002ce010003000002000000000000000002d1010003000002000000000000000002d40100030000020000000000000000022400030003054276e66fa100900000c9010003000002000000000000000000cc010003000002000000000000000002cf010003000002000000000000000000160107000005000000000000000003de010003000002000000000000000000630303000005000000000000000000ca010003000002000000000000000002cd010003000002000000000000000002d0010003000002000000000000000002d30100030000020000000000000000
et
31 32 37 2e 30 2e 30 2e 31
à 127.0.0.1,
1f 91
à 8081 et
01 bb
à 443
Je ne comprends pas pourquoi le client ne réagit pas à mon 6469 modifié !! :mad::'(
Si quelqu'un a des idées ou des tests à proposer je suis grave preneur.