Jump to content

Melhorar sistema de encriptação do BT Revolution


Revolution
 Share

Recommended Posts

Nice isso é que é preciso 😉

Olha se calhar não é preciso tanta coisa, basta fazer com que os dados transmitidos não se assemelhem ao protocolo bittorrent, o que podes fazer è aplicar um XOR a todos os dados, por exemplo:

>>> XORCode=123 #0-255
>>> data='cenas do protocolo bittorrent'
>>> encr=''.join(map(lambda x:chr(ord(x)^XORCode), data))
>>> encr
'\x18\x1e\x15\x1a\x08[\x1f\x14[\x0b\t\x14\x0f\x14\x18\x14\x17\x14[\x19\x12\x0f\x0f\x14\t\t\x1e\x15\x0f'
>>> ''.join(map(lambda x:chr(ord(x)^XORCode), encr))
'cenas do protocolo bittorrent'
Link to comment
Share on other sites

Revolution, tenta implementar aquilo que eu te dei, pode ser que funcione.

Mas não te esqueças que o pessoal vai ter todo de usar o mesmo cliente.

Eu não conheço muito bem o ABC, mas procura pela parte onde são feitas as conecções p2p, depois só tens de alterar o recv e o write do socket de modo a que os dados sejam enviados "cifrados" e recebidos limpos.

Link to comment
Share on other sites

Boas!

Revolution , tal como o Triton disse, antes de começar a alterar o código, o melhor era começar por estudar as formas de traffic shaping, a forma como é feito, etc...

Continuando... Dependendo de que forma o teu ISP faz traffic shaping, podes ou nao conseguir apenas encriptando o payload e o header dos pacotes...  Segundo percebi, o código que tens ja faz alguma encriptação. Mas ele encripta apenas o payload ou encripta também os header's?

Outra alternativa seria fazeres tunneling. Ao fazeres isso crias um canal entre os dois pontos da ligação e todo o tráfego que passa nesse canal é encriptado e assim torna-se mais complicado para o ISP saber o que vao la dentro. Para fazeres alguns teste com SSH.

Procura por AQUI como podes fazer. Tens varios exemplo de como podes fazer. Basta adaptares ao que tu precisas. Se assim resultar, podes entao avançar para a implementação desse sistema no teu programa!

Alguma dúvida, é só perguntares

EDIT:

Encontrei aqui um simples how-to que podes seguir para perceber como podes fazer

Link

Cumps

Link to comment
Share on other sites

Continuo a achar que o meu método é o mais simples, aquilo destroce os dados TODOS que são transmitidos logo é "impossível" o ISP saber qual o protocolo.

O problema é que o ISP pode reduzir a velocidade a tudo menos X protocolos conhecido, mas duvido que isto aconteça.

Bem, sempre podias esconder dados dentro de pacotes de coisas conhecidas, como HTTP. B)

<3 life

Link to comment
Share on other sites

Continuo a achar que o meu método é o mais simples, aquilo destroce os dados TODOS que são transmitidos logo é "impossível" o ISP saber qual o protocolo.

O problema é que o ISP pode reduzir a velocidade a tudo menos X protocolos conhecido, mas duvido que isto aconteça.

O facto de distorcer todos os dados que vão nos pacotes não adianta nada se o ISP fizer um traffic shaping avançado que pode entre outras coisas verificar o handshak, tamanho dos pacotes, frequencia com que existe um determinado tipo de tráfego, etc, etc. Agora tudo depende de como eles fazem isso... É experimentar, ate pode ser que o que ti disseste baste...

Bem, sempre podias esconder dados dentro de pacotes de coisas conhecidas, como HTTP. B)

Pois, também é uma hipotese... http tunneling...

Cumps

Link to comment
Share on other sites

O facto de distorcer todos os dados que vão nos pacotes não adianta nada se o ISP fizer um traffic shaping avançado que pode entre outras coisas verificar o handshak, tamanho dos pacotes, frequencia com que existe um determinado tipo de tráfego, etc, etc. Agora tudo depende de como eles fazem isso... É experimentar, ate pode ser que o que ti disseste baste...

O handshak também era distorcido. EU acho que isto era o suficiente para o caso, fazer um filtro tão complexo exige uma grande capacidade de processamento não?

http tunneling involve um servidor HTTP pelo meio, mas a ideia de modificar o "aperto de mão" usando um protocolo conhecido por não usar muita largura de banda é boa ideia.

Link to comment
Share on other sites

O handshak também era distorcido. EU acho que isto era o suficiente para o caso, fazer um filtro tão complexo exige uma grande capacidade de processamento não?

....

Sim, exige alguma capacidade de processamento e talvez algum equipamento extra... e tendo em conta que eles limitam as velocidades porque estao limitados a alguns niveis, também não me parece que invistam num grande sistema de traffic shaping... mas, nunca se sabe...lol

É experimentar... se o ktorrent consegue passar despercebido e é open source não era má ideia explorar o código e/ou analizar o trafego gerado pelo azureus que pelo que sei também consegue passar despercebido com algumas configurações...

...mas a ideia de modificar o "aperto de mão" usando um protocolo conhecido por não usar muita largura de banda é boa ideia.

fnds, podes-me dar umas luzes de como isso pode ser feito? Simular um servidor HTTP para fazer o handshake?

Cumps

Link to comment
Share on other sites

Bah! O sapo está a fazer esse ****a à minha conta! Agora não passo dos 50KBps nos torrents todos somados...

E pelos visto as ligações HTTP também, estão limitadas a 500KBps cada.

fnds, podes-me dar umas luzes de como isso pode ser feito? Simular um servidor HTTP para fazer o handshake?

Exacto, usas um cabeçalho HTTP para fazer o handshake e o corpo para transferir dados por exemplo. O problema é que no fim os dois têm de um cliene que proceda da mesma forma.

Já agora, o BT Next não é afectado?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.