Os arquivos torrent alterados por hex (* .torrent) criam problemas?

1

Estou ciente de que os arquivos torrent têm a função de hash-check, mas e os arquivos que não estão nos arquivos * .torrent? Para verificar os arquivos torrent, ele precisa dos valores originais da soma de verificação dos próprios arquivos torrent.

Por exemplo, qualquer um pode editar em hexadecimal como marcar códigos 00 ou qualquer coisa para criar arquivos torrent.

Os arquivos Torrent podem ser alterados dessa maneira, mas descobri que eles podem ser executados pelo cliente torrent sem aviso. Depois disso, eu me pergunto se arquivos torrent já estão alterados por edição hexadecimal, ou se eles estão fazendo algum tipo de alteração para verificar, arquivos hash em torrents.

    
por Seiya Souji 29.09.2016 / 04:55

1 resposta

1

Cada torrent tem um ID único chamado infohash , e você só pode fazer o download de arquivos de pares que geram exatamente o mesmo infohash. Se o infohash é diferente, mesmo que os arquivos sejam os mesmos, isso ainda faz dele um torrent totalmente novo.

O infohash é baseado diretamente na estrutura info dict dentro do arquivo .torrent. Todos os arquivos .torrent são dados estruturados, codificados no formato bencode . Convertido em texto, este torrent do Ubuntu - por exemplo é assim:

{
    "announce": "http://torrent.ubuntu.com:6969/announce"
    "announce-list": [
        0: [
            0: "http://torrent.ubuntu.com:6969/announce"
        ]
        1: [
            0: "http://ipv6.torrent.ubuntu.com:6969/announce"
        ]
    ]
    "comment": "Ubuntu CD releases.ubuntu.com"
    "creation date": "1469103218"
    "info": {
        "length": "1513308160"
        "name": "ubuntu-16.04.1-desktop-amd64.iso"
        "piece length": "524288"
        "pieces": bytes [
            92 90 ed e1 86 46 26 1c 7f 40 02 6f 60 e1 17 1f a8 4b 3b ce 81 d2 c2 30
            13 d5 9c d3 b7 14 d9 d8 4e e3 21 d8 04 44 be 97 db ce c0 87 b3 d0 26 22
            c0 e1 80 d6 ec 83 75 40 86 6b 8d 88 9b bf ea db ad 49 d8 54 e4 69 ba b6
            bc ca dd ed b0 02 5c 74 22 1b bf 00 97 89 b1 b3 fa f8 21 45 5e ff 0c 65
            8f c3 00 a8 23 cd bd be 5d e5 5e 7e 2f 32 66 e3 0c 68 b3 09 de d3 1d 12
            c7 32 6b 92 2e ce 3d 67 79 dc e0 5c 53 f2 a3 a8 84 55 b8 38 c4 26 2d ac
            ... (57596 more bytes)
        ]
    }
}

Observe como a estrutura info: { ... } descreve todos os conteúdos dos nomes dos arquivos torrent, tamanhos, o hash de cada 'peça' e, às vezes, coisas como o bit "private torrent". Se suas edições alterarem essa parte de alguma forma, isso resultará na alteração da informação, e você não poderá fazer o download de outros usuários antigos.

Mas se você alterar algo fora do info dict, no entanto, não deve haver nenhum problema - desde que, é claro, as edições realmente façam sentido. Por exemplo, você pode alterar livremente os rastreadores listados em announce-list , editar o comment e talvez até adicionar campos adicionais.

Dito isso, em vez de editar hexamundamente o arquivo bruto, por que não usar um programa que realmente entenda a estrutura? um "editor de torrent" real? Esses definitivamente existem.

E, finalmente, se as suas edições resultarem no arquivo não mais ter uma sintaxe bencode válida, isso definitivamente "criará problemas", já que os programas não poderão mais carregar o arquivo .torrent . Isso inclui, por exemplo, tornar um pedaço de texto mais longo ou mais curto. (No formato raw que seu editor hexadecimal mostra, observe como cada string é prefixada por seu comprimento, por exemplo, 5:hello . Elas devem sempre corresponder.)

    
por 29.09.2016 / 06:48

Tags