
Criptoanálise de um sistema proprietário de DRM de vídeo de 1999. Recupera 61 vídeos de wrestling criptografados do CD-ROM WCW Internet Powerdisk por meio de análise estática de binários e ataque de texto claro conhecido.
Criptoanálise de um sistema de DRM de vídeo proprietário de 1999, recuperando 51 minutos de mídia perdida por meio de análise estática de binários e ataque de texto plano conhecido.

Quadro de uma partida "CyberRing" recuperada. Os lutadores da WCW foram filmados contra um fundo azul e compostados em uma arena CGI com efeitos de fogo. Era assim que o entretenimento interativo de 1999 parecia.
O WCW Internet Powerdisk era um CD-ROM promocional distribuído com a WCW Magazine em 1999. Ele trazia 61 clipes de vídeo (destaques de lutas, perfis de lutadores, aberturas de programas) criptografados com um sistema proprietário chamado PAVENCRYPT, desenvolvido por uma empresa chamada UIT.
A reprodução exigia o ULI Player incluído, que buscava chaves de descriptografia por arquivo de um servidor remoto em tempo de execução. Quando a infraestrutura de servidores da UIT ficou offline por volta de 2000, o conteúdo se tornou permanentemente inacessível. O player apenas exibia:
"Chave de descriptografia não encontrada no banco de dados do servidor"
Não existem chaves no disco. Nenhuma documentação do formato foi publicada. A UIT parece ter se dissolvido completamente. Por 25 anos, o conteúdo permaneceu impossível de reproduzir.
Nossas descobertas de engenharia reversa são corroboradas pelo contrato de licença original de 1999 arquivado na SEC, que descreve o "Server Side Key Generator Program" criando "chaves de segurança baseadas no tempo."
Os vídeos recuperados estão disponíveis no Internet Archive:
https://archive.org/details/wcw-cyberring-powerdisk-1999
61 clipes totalizando 51 minutos e 20 segundos, convertidos para H.264/AAC MP4. Conteúdo original produzido pela WCW (Turner Broadcasting). A propriedade intelectual hoje pertence à WWE.
# 1. Extract the ISO
7z x WCW_R1.ISO -oiso_contents
# 2. Decrypt all PAV files to MPEG-1
python decrypt_pav.py
# 3. Convert to MP4 (optional, requires ffmpeg)
python convert_mp4.py
Requisitos: Python 3.6+ (sem pacotes de terceiros). ffmpeg para conversão opcional para MP4.
Cada arquivo .PAV é criptografado com uma cifra de subtração de bytes de chave repetida:
plaintext[i] = (ciphertext[i] - key[i % key_length]) mod 256
As chaves são únicas por arquivo, variando de 8 a 24 bytes de ASCII imprimível, geradas aleatoriamente no
momento da codificação. A rotina de descriptografia reside dentro de PavSource.ax, um filtro de origem
DirectShow de 24 KB construído em abril de 1999:
mov cl, [ebx+edx+0x3C] ; load key[key_index]
sub byte ptr [eax], cl ; plaintext = ciphertext - key_byte
Sem força bruta. Sem emulação. Sem servidor. As chaves são recuperadas matematicamente:
Arquivos MPEG-1 terminam com bytes conhecidos. A cauda do arquivo contém preenchimento 0xFF seguido pelo
Código de Fim de Programa (00 00 01 B9).
Uma chave repetida sobre uma constante produz um padrão repetido. A cauda criptografada tem periodicidade detectável igual ao comprimento da chave.
A recuperação da chave é algébrica. Dado o texto plano conhecido, podemos derivar key[i] = (ciphertext[i] - 0xFF) mod 256.
A verificação é estrutural. A saída descriptografada deve começar com um
Código de Início de Pacote MPEG-1 válido (00 00 01 BA).
Todo o ataque é executado em segundos sem nenhuma entrada externa.
┌─────────────────────────────────────────────────┐
│ "PAVENCRYPT" magic (10 bytes) │
├─────────────────────────────────────────────────┤
│ Unencrypted MPEG-1 preview (16-32 KB) │
│ 2 video frames, no audio (serves as thumbnail) │
├─────────────────────────────────────────────────┤
│ Encrypted MPEG-1 Program Stream │
│ Per-file subtraction key, 8-24 bytes │
│ │
│ Video: 320×240, 30fps, ~1.29 Mbps │
│ Audio: MP2, 44.1 kHz, mono, 64 kbps │
└─────────────────────────────────────────────────┘
61 clipes abrangendo o elenco da WCW do final de 1999:
decrypt_pav.py Decryptor: key recovery + decryption to MPEG-1
convert_mp4.py Transcoder: batch MPEG-1 to H.264/AAC MP4
analyze_pav.py Inspector: non-destructive PAV structure analysis
PavSource.ax Original DirectShow filter binary (reversed)
UlPlayer.exe Original ULI Player application
FINDINGS.md Technical report: format spec, disassembly, all 61 keys
TIMELINE.md Reverse engineering methodology, step by step
docs/PRIMARY_SOURCES.md Original 1999 SEC filing documenting the encryption system
Esta ferramenta funciona em qualquer arquivo no formato PAVENCRYPT. O ULI Player foi licenciado para vários distribuidores de conteúdo no final dos anos 1990. O ataque se generaliza para qualquer cifra de chave repetida aplicada a um formato de arquivo com padrões de bytes previsíveis, o que descreve a maioria dos esquemas de DRM proprietários daquela época.
| Categoria | Contagem | Destaques |
|---|
| Gravações de lutas | 9 | Hogan vs. Goldberg, Hogan vs. Macho Man, lutas CyberRing |
| Biografias de lutadores | 13 | Goldberg, Sting, Hogan, DDP, Flair, Nash, Steiner |
| Aberturas de programas | 5 | Monday Nitro, Thunder, Surge |
| Segmentos de história | 8 | Narrativa serial do "Hacker" |
| Promos e mercadorias | 9 | Camisas de lutadores e spots de mercadorias |
| Outros segmentos | 17 | Nitro Girls, lutas dos Nasty Boys, Rey Mysterio, Konnan |