Guida Guida per ottenere contenuti DRM. (WIP)

yannic0

Lurker
Iscritto dal
18 Gen 2022
Messaggi
305
Reazioni
0
Questa è solo una guida che dovrebbe rendere più facile ottenere contenuti DRM.
Sì, esistono già alcune guide. Ma voglio farne una che anche chi non è esperto di tecnologia possa capire, seguire e trovare.
Questa guida spiegherà il processo di installazione di python e degli strumenti necessari per ottenere contenuti protetti da DRM
La guida sarà divisa in più parti.
Utenti Mac OS, per favore andate a questa guida: https://simpcityopen.com/threads/81957/
Installazione di Python, PIP e Frida
Prima cosa prima.
Scarica Python da questo sito: https://www.python.org/downloads/ e prendi l'ultima versione*. (Non quella pre-release)

* L'ultima versione al momento della scrittura è 3.11.4
Apri l'installer e assicurati di spuntare "Add python to PATH"

Dopo aver selezionato quell'opzione premi installa e aspetta che finisca.
Per assicurarti che sia installato correttamente, apri Terminal (Windows 11) o Powershell (Windows 10/11) e scrivi:
Dovrebbe darti il seguente risultato*

* La versione può variare a seconda di quale sia l'ultima versione nel tempo.
Con l'installazione di Python arriva anche il pacchetto pip. Per controllare se è installato scrivi in un Terminal o Powershell:
Dovrebbe darti anche il seguente risultato*

* Anche qui la versione può variare nel tempo.
Se per qualche motivo PIP non è ancora installato, apri un Terminal o Powershell e scrivi:
Per installare frida vai in un Terminal o Powershell e scrivi:
Assicurati di annotare da qualche parte quale versione è stata installata, è importante più avanti. * (La versione è segnata in giallo)

* Le versioni possono essere diverse per te quindi ricontrolla.
Poi ti serve frida-tools che si può installare scrivendo in Terminal o Powershell:

Installazione di Android Studio e creazione del tuo primo telefono virtuale
Scarica Android Studio https://developer.android.com/studio

E segui il processo di installazione.
Dopo l'installazione apri Android Studio.
Puoi lasciare la maggior parte delle impostazioni di default. Poi quando arrivi alle licenze clicca accetta su tutte finché il pulsante finish non si evidenzia.

Dopo l'installazione Android Studio si aprirà e ti darà l'opzione di "creare un nuovo progetto" come mostrato sotto:

Se ricevi un errore in questa parte dovrai controllare se il tuo dispositivo ha la virtualizzazione attivata.
Leggi questo post: https://simpcityopen.com/threads/81957/
Poi seleziona "phone and tablet" con una "empty activity" e clicca su next, come mostrato nell'immagine sotto:

Dopo seleziona un SDK minimo di Android 9.0 (Pie) o superiore come mostrato sotto:

Per creare un nuovo dispositivo premi il pulsante device manager e clicca su "create device" come mostrato sotto:

Cerca il Pixel 6, selezionalo e premi next.

Dovrai prima scaricare l'OS, quindi premi l'icona di download accanto alla versione* che vuoi. (*Scegli Android 9.0 o più recente.)

Quando il download è finito seleziona di nuovo la versione, premi next e completa la configurazione del nuovo dispositivo.
Installare Frida-server sul tuo telefono virtuale
Ora installa frida sul tuo telefono virtuale. Scarica frida sul tuo PC da qui: https://github.com/frida/frida/releases e cerca "frida-server" con la versione giusta segnata in giallo quando hai installato frida con pip, e assicurati di prendere la versione android-x86, come mostrato sotto:

Estrai il file scaricato nella seguente posizione sul tuo dispositivo:
Usa Winrar o 7zip. (O qualcosa di simile.)
E lascialo lì così:

--
Scegli uno dei due metodi:
Metodo automatico: https://simpcityopen.com/threads/81957/
Apri un Terminal o Powershell nella cartella dove hai estratto lo strumento. Ci sono più modi per farlo.
  • (Windows 10/11) Shift + Click destro > Apri in Terminal/Powershell. (Prima immagine)
  • (Windows 11) Click destro + Mostra più opzioni > Apri in Terminal. (Prima immagine)
  • (Windows 10/11) Nella barra del percorso scrivi "CMD" e premi ENTER. (Seconda immagine)
Opzione 1 e 2

Opzione 3

In Terminal o Powershell scrivi:
Prova questo invece:
(Aggiungi ".\" davanti.)
Dovresti vedere un emulatore.

Assicurati di aver avviato il tuo telefono virtuale andando su Android Studio > Device Manager e premendo il pulsante play del tuo telefono virtuale.
(Dovresti vedere il pulsante play trasformarsi in un pulsante stop e un telefono apparirà sotto.)
Se non funziona vai nella seguente cartella:
Apri Terminal o Powershell e scrivi:
Prova questo invece:
(Aggiungi ".\" davanti.)
Dovresti vedere il nome del tuo telefono virtuale. Per avviare il tuo telefono scrivi quanto segue:
Esempio:

Il tuo telefono virtuale ora è in esecuzione.
Continua scrivendo il seguente comando, assicurati di controllare quale versione devi usare attualmente:

Dopo che è stato "inserito" sul tuo telefono scrivi il seguente comando per accedere al telefono (guarda le immagini di esempio se trovi difficile questa parte):
Esempio:

TIENI APERTO QUESTO TERMINAL O POWERSHELL!
Configurare lo script Dumper
Vai al seguente github sul tuo PC (non sul tuo telefono virtuale) https://github.com/wvdumper/dumper e premi il pulsante verde "Code " e poi "Download zip".
image4cd8d25dcc2e386a.png

Estrai il file zip dove vuoi. (Io lo tengo ancora nella cartella download) vai nella cartella e apri il file requirements.txt usando il blocco note.
image65b962c80078751b.png

Aggiungi la seguente riga al file:
Ora dovrebbe apparire più o meno così:
image920bcc60ebad9b1b.png


Salva il file e apri un nuovo Terminal o Powershell. (Tenendo aperto quello precedente.)
Puoi aprire un terminal o powershell cliccando col destro e selezionando terminal/powershell (1) o scrivendo "CMD" nella barra del percorso (2).
Opzione 1

Opzione 2

Nel secondo terminal o powershell scrivi:
Una volta finita l'installazione dei pacchetti necessari scrivi quanto segue:
TIENI APERTO ANCHE QUESTO TERMINAL O POWERSHELL!
Ottenere le chiavi usando lo script Dumper
Infine usa il tuo telefono virtuale e naviga con chrome al seguente sito: https://bitmovin.com/demos/drm
Il sito chiederà se può riprodurre video protetti. Premi CONSENTI.
Scorri un po' finché non vedi il video e premi play.
Dovresti vedere un po' di attività nel tuo secondo terminal o powershell. Vuol dire che ha funzionato! 🎉
Per verificarlo, vai nella cartella dumper-main e controlla se vedi la cartella "key_dumps":

Andando ancora più a fondo nelle cartelle troverai "private_keys" continua a entrare finché non vedi questi due file:

Rinomina questi file in questo modo:
Nome originaleNuovo nome
client_id.bindevice_client_id_blob
private_key.pemdevice_private_key
Assicurati di cambiare l'estensione, dovrebbe succedere quando rinomini i file.
Controlla se il tipo di file è cambiato in semplicemente "File" invece di un file BIN o PEM.*

*Nota che questo è un confronto, avrai solo i due file (device_client_id_blob e device_private_key)
Ora sei pronto per usare le chiavi per gli strumenti di scraping.
(Farò una guida per alcuni di questi scraper più sotto, sempre con l'intenzione di renderla semplice da capire e seguire.)
Nel frattempo puoi provarci da solo seguendo le guide già esistenti qui:
https://simpcityopen.com/threads/2257/
 
Bella, grazie :peepolove:
Ho messo dei link nei post rilevanti della mia guida OF per mandare la gente qui
 
Grazie! Dopo aver estratto le key con successo, c'è qualche motivo per cui non si potrebbe disinstallare Android Studio, Python, ecc? Oppure le key scadono a un certo punto e vanno rigenerate?
 
Ti consiglierei di lasciare sempre python installato perché viene usato nella maggior parte degli scraper.
E per Android Studio è meglio tenerlo installato anche perché le key generate potrebbero smettere di funzionare dopo un po'. (Questo ti farà risparmiare tempo in futuro)
 
Ho fatto degli script batch che velocizzano un po' il processo, ti risparmiano di dover entrare manualmente in adb.exe ecc. https://github.com/sim0n00ps/L3-Dumping. Ho cercato di spiegare il più possibile quali percorsi vanno dove.
Un altro consiglio sarebbe in Helpers/Scanner.py cambiare i nomi dei file alla riga 44 da "client_id.bin" a "device_client_id_blob" e alla riga 47 da "private_key.pem" a "device_private_key". Ti risparmia di dover rinominare i file e togliere le estensioni dopo.
 
Funziona alla grande! Lo aggiungo alla guida come versione "automatica"
 
Ciao, vorrei chiedere un piccolo aiuto perché sto seguendo un tutorial, ma purtroppo non tutto mi funziona.
Nello specifico, sto seguendo le istruzioni passo dopo passo, scegliendo il metodo automatico, e quando completo tutti i passaggi, avvio il dispositivo e poi eseguo 'run.bat'.
Effettivamente si aprono due righe di comando. Tuttavia, quando procedo con i passaggi successivi, le istruzioni dicono che dovrei vedere qualche attività in una delle righe di comando. Purtroppo da me non succede nulla. Inoltre non compare nessuna nuova cartella nella cartella 'dumper-main'. Ho provato a rifare tutto, ma gli stessi problemi persistono. Allego screenshot delle mie righe di comando. Magari qualcuno può darmi qualche consiglio. Grazie in anticipo per qualsiasi aiuto.
https://i.pixl.li/246574e7dad017050.png
https://i.pixl.li/1e172e8a70f4c7dd0.png
 
Colpa mia. (Ho dimenticato di dire che bisogna comunque eseguire lo script requirements.) Lo aggiungo alla guida!
 
Ehi, sono riuscito a far funzionare tutto col metodo automatico solo dopo aver cambiato il nome dei file client e averli messi nella cartella cdm. Solo che il file blob non viene trovato nel downloader OF. La device key invece viene trovata, dopo averla rinominata è diventata un file di tipo "file". Quando ho rinominato il file blob, non è passato da file bin a file "file", potrebbe essere questo il motivo?
 
Sì, molto probabilmente. L'estensione deve cambiare in "file". Guarda l'immagine seguente:
imageddca91dc6d8f83c8.png
 
Sai come far cambiare il file bin in file? Non è successo dopo averlo rinominato. Cosa posso fare per farlo succedere?
 
Puoi provare ad abilitare questo:
imagee05d8dc9a426ec06.png

Così puoi vedere se il file ha ancora l'estensione dopo il nome. (Se sì, quando modifichi il nome devi togliere la parte .bin o .pem — Windows chiederà se può cambiare l'estensione, basta permetterlo. Guarda l'immagine seguente:)
image58f3368fe0e4ae5d.png
 
Grazie amico, mi dà ancora il messaggio che il file blob non viene trovato, non so cosa ho sbagliato, riproverò tutto da capo. La private key invece viene riconosciuta.
 
Ho fatto tutto, quindi sono bloccato solo sulla parte delle key. Prima mi dà questo errore "Unable to start: Error binding to address 127.0.0.1:27042: Address already in use" e quando riavvio mi dà "'adb' is not recognized as an internal or external command"
 
Prova questo.
Invece di chiamare il comando adb così:
Prova così:
 
Qualche idea su cosa sia questo errore? Mi capita sia col metodo manuale che con quello automatico
 
Penso di aver già avuto questo problema e alla fine ho semplicemente eliminato il telefono e ricominciato il processo
 
Ho provato ma niente da fare
Col metodo manuale, anche se i requirements sono soddisfatti, mi dà ancora ModuleNotFoundError: No module named 'frida'
 
Indietro
Top