Você está na página 1de 6

COMO BAIXAR CURSOS DA UDEMY

PRÉ REQUISITOS

O primeiro passo é adicionar a extensão Tampermonkey em seu navegador e em seguida instalar o EME Logger Script
que fornecerá os dados de inicialização da página.
Concluindo essas etapas mínimas mencionadas acima, podemos dar continuidade as etapas, que são muitas. Estamos
apenas no início de uma grande caminhada até o objetivo final.

Obtenção de chaves de descriptografia da Udemy.


1. Faça login na sua conta da Udemy. (compras e conteúdo de assinatura são suportados)
2. Vá para o curso que você deseja descriptografar.

Como você pode ver a extensão Tampermonkey está adicionado ao navegador e o Script (EME Logger Script) está sendo
executado (“injetado”) na página.

3. Comece a reproduzir o conteúdo que deseja descriptografar (sempre dê, preferência aos módulos seguintes
do curso, pois o primeiro geralmente são conteúdos (vídeos) de apresentação e não tem proteção widevine
(DRM - Digital Rights Management).
4. Abra as ferramentas do desenvolvedor da web (ctrl+shift+c ou F12) e clique na guia console.
5. Atualize a página e reproduza o conteúdo novamente, sempre executando na faixa intermediária do vídeo do
curso.
6. Na barra de filtro, procure por MediaKeySession::generateRequest na qual você verá um campo chamado
Init Data: abaixo dele vai estar o PSSH desse determinado curso.

Você deverá copiar todo esse código em texto demarcado em amarelo.

O que é o PSSH? – Protection System Specific Header (Caixa de cabeçalho específica do sistema de proteção no Formato de
arquivo de mídia) contém metadados necessários para um sistema específico de proteção de conteúdo para adquirir
uma licença e descriptografar o conteúdo de mídia

7. Converta e extraia o PSSH usando o Base64 (https://base64.guru/converter/decode/hex)


Cole o seu PSSH no primeiro campo da caixa de texto do Base64 e em seguida clique em Convert Base64 to Hex
Após a conversão Base64 > HEX, você encontrará uma caixa Widevine-PSSH, que pode ser encontrada
facilmente pesquisando com CTRL +F e procurando por 70737368
O cabeçalho PSSH estará sempre em um 000000xx70737368 onde o xx é variado e pode ser de 1 a 9 em
ambos os elementos “x”. Você sempre deverá copiar os 6 (seis) 0 (zeros) antes dos xx.
O final do cabeçalho é sempre seguido por mais 8 (oitos) zeros ((00000000xx7073736800000000)), se você vir
isso, você está no lugar certo. Início final
Depois de encontrar o início do cabeçalho e copiar até o final do hex convertido, ele deve ficar assim:

Neste caso, o valor total foi:


000000577073736800000000edef8ba979d64acea3c827dcd51d21ed0000003708011210162f7d326cf24f6dbd1319bc5
72bbc151a0b62757964726d6b65796f732210162f7d326cf24f6dbd1319bc572bbc152a024844
Converta o hex de volta em base64 usando (https://base64.guru/converter/encode/hex)
Exemplo:

Neste caso, obtivemos o valor PSSH


deAAAAV3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADcIARIQFi99MmzyT229Exm8Vyu8FRoLYnV5ZHJta2V5b3MiEB
YvfTJs8k9tvRMZvFcrvBUqAkhE
- Parabéns, você tem o PSSH, deixe salvo em um lugar seguro. (Não o compartilhe publicamente, com alguém
que não seja de sua confiança)

8. A próxima etapa é solicitar acesso ao servidor do GetWVKeys no Discord.


(esse processo de participação da comunidade poderá demorar até 3 dias, onde o desenvolvedor do Script
Udemy-Downloader ou algum administrador vai fazer duas perguntas em inglês (onde as respostas devem
ser em inglês, logicamente) sobre o uso do Script, e vai ficar a cargo deles lhe aceitar ou não. Então seja
esperto!
Depois que for aceito pela comunidade você deve acessar o sistema independente do GetWVKeys
(https://getwvkeys.cc/search) onde irar inserir o PSSH e o sistema retornará com um ID:KEY (CHAVE) que
usaremos no Script Udemy-Downloader para que ele possa baixar o conteúdo que queremos.
9. Instale o Python em seu computador
Vamos usar o Chocolatey, ele é um gerenciador de pacote para sistema operacional Windows. Com ele,
podemos instalar alguns dos softwares necessários por comandos no terminal, sem precisar entrar em cada site, fazer
downloads e instalar cada aplicação manualmente.
Instalar o chocolatey
Abra o powershell do windows com privilégio de administrador e execute o comando abaixo:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol =
[System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object
System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
E depois instalar os pré-requisitos que serão necessários usando o próprio powershell:
choco install python -y
choco install ffmpeg -y
choco install advanced-renamer -y

Precisamos também inserir e configurar alguns binários nas variáveis de ambiente do Windows (nada mais é
que o executável (.exe) de um software, sem a necessidade de instalar ele diretamente na máquina)

Vai ser necessário esses binários (.exe) contidos no disco C:\ e inseridos no PATH nas variáveis de ambiente do
sistema:

C:\aria2 – https://github.com/aria2/aria2/releases (baixe o aria2-1.36.0-win-64bit-build1.zip ou aria2-1.36.0-win-


32bit-build1.zip – a versão 32 bits ou 64 bits conforme o seu sistema operacional)
C:\mp4decrypt - https://www.bento4.com/downloads/ (clica em Binários para Windows 10, dentro do zip vai em
> bin> mp4decrypt)
C:\shaka-packager - https://github.com/shaka-project/shaka-packager/releases/tag/v2.6.1 (baixe o mpd_generator-
win-x64.exe e altere o seu nome para shaka-packager.exe)
Todos esses arquivos deverão ser inseridos nas respectivas pastas no disco primário, com esses mesmos
nomes.

Você precisa copiar e colar o caminho da pasta de cada um deles no PATH e todos eles devem estar acima do
caminho do executável do python
C:\aria2
C:\mp4decrypt
C:\shaka-packager
Se você chegou até aqui, então você deve se considerar um usuário intermediário. Pois de fato você é!

Agora iremos baixar finalmente o Script Udemy-downloader


Renomear o arquivo keyfile.example.json para keyfile.json e insira a sua ID: KEY (chave) que você gerou a partir do
seu PSSH no (https://getwvkeys.cc/search)

 Insira a chave e o ID da chave no keyfile.json (abrir com qualquer editor de texto como o Notepad ou outro
de sua escolha)

Renomear o arquivo .env.sample para .env (você só precisa fazer isso se planeja usar o arquivo .env para armazenar
seu token de portador)

Como conseguir o access_token?


1. Faça login no site da Udemy
2. Com o site aberto, clique com o botão direito do mouse em inspecionar ou pressione F12 no teclado.
3. No inspetor de elementos, navegue até a guia Aplicativo.
4. No menu lateral esquerdo, expanda a opção de cookies e selecione o item, descrito como Udemy URL
("[https://www.udemy.com](https://www.udemy.com/)")
5. Na grade de dados, localize o item "access_token", copie o valor e insira depois no arquivo .env

Depois é só executar o CMD dento da pasta do Script Udemy-downloader e executar o comando abaixo:
python main.py -c (A URL do curso para download) -b (O token do portador a ser usado) --download-assets --
download-captions --disable-ipv6 --log-level DEBUG

O conteúdo será baixado e salvo na pasta out_dir, com os arquivos de vídeo (.mp4) e áudio (.m4a) separados e
criptografados.

Recomendo usar o advanced renamer para remover esse trecho dos nomes dos arquivos, pois facilitará depois
quando você descriptografar e unir os dois arquivos para formar um único arquivo de mídia e renomear novamente
para o nome padrão correspondente, sem esse nome (mais a opção fica a cargo de cada um)

Depois é só separar o par de cada arquivo (mp4 e m4a) em uma pasta independente, abrir o cmd naquela pasta
onde estão o arquivo de vídeo e áudio daquela aula e usar os comandos

mp4decrypt --key 1:KEY encrypt_video.mp4 decrypt_video.mp4

mp4decrypt --key 1:KEY ok.m4a ok_saida.m4a

KEY é a chave que você conseguiu, não é necessário colocar ID:KEY, apenas 1: KEY (só inserir 1 invés do id, pois é
somente a chave que vai descriptografar o arquivo)
Essa foi uma escolha que fiz, renomear o arquivo de áudio com um “OK” e o arquivo de vídeo com o nome
“encrypt_video”. Você tem que definir um nome de entrada e outro de saída que você queira

Depois é só deletar os dois arquivos do meio que estão criptografados e usar o software MKVToolNix para unir os
dois arquivos descriptografados de áudio e vídeo. Isso para cada par de mídia (aula). É simples, porém trabalhoso,
até que alguém faça um Script automatizando esse processo é isso daí que temos por hoje. Boa Sorte!

Autor: Aquele que não deve ser nomeado.

Você também pode gostar