Гайд Гайд по получению DRM-контента. (В процессе)

yannic0

Лёркер
Регистрация
18.01.2022
Сообщения
305
Реакции
0
Это просто гайд, который должен упростить получение DRM-контента.
Да, уже есть несколько гайдов. Но я хочу сделать такой, который поймёт, сможет повторить и найти даже человек, не разбирающийся в технике.
Этот гайд пройдёт через процесс установки python и нужных инструментов для получения DRM-защищённого контента
Гайд будет разбит на несколько частей.
Пользователи Mac OS, пожалуйста, переходите в этот гайд: https://simpcityopen.com/threads/81957/
Установка Python, PIP и Frida
Прежде всего.
Скачай Python с этого сайта: https://www.python.org/downloads/ и возьми последнюю версию*. (Не pre-release)

* Последняя версия на момент написания — 3.11.4
Открой инсталлятор и обязательно нажми "Add python to PATH"

После выбора этой опции нажми install и подожди пока закончится.
Чтобы убедиться, что всё установилось правильно, открой Terminal (Windows 11) или Powershell (Windows 10/11) и введи:
Это должно дать следующий результат*

* Версия может отличаться в зависимости от того, какая последняя версия на текущий момент.
Вместе с установкой Python идёт пакет pip. Чтобы проверить, установлен ли он, введи в Терминале или Powershell:
Это тоже должно дать следующий результат*

* Опять же, версия может отличаться со временем.
Если по какой-то причине PIP ещё не установлен, открой Терминал или Powershell и введи:
Чтобы установить frida, зайди в Терминал или Powershell и введи:
Обязательно запиши где-нибудь, какая версия установилась, это важно потом. * (Версия выделена жёлтым)

* Версии могут у тебя отличаться, так что проверяй внимательно.
Потом тебе понадобится frida-tools, который можно установить, введя в Терминале или Powershell:

Установка Android Studio и создание своего первого виртуального телефона
Скачай Android Studio https://developer.android.com/studio

И пройди процесс установки.
После установки открой Android Studio.
Большинство настроек можно оставить по умолчанию. Потом, когда дойдёт до лицензий, жми accept на всех, пока не подсветится кнопка finish.

После установки Android Studio откроется и даст опцию "создать новый проект", как показано ниже:

Если на этом моменте у тебя ошибка, надо проверить, включена ли виртуализация на твоём устройстве.
Почитай этот пост: https://simpcityopen.com/threads/81957/
Затем выбери "phone and tablet" с "empty activity" и нажми next, как показано на картинке ниже:

Далее выбери минимальный SDK Android 9.0 (Pie) или выше, как показано ниже:

Чтобы создать новое устройство, нажми кнопку device manager и кликни на "create device", как показано ниже:

Найди Pixel 6, выбери его и нажми next.

Сначала тебе нужно будет скачать ОС, так что нажми на иконку загрузки рядом с версией*, которую хочешь. (*Выбери Android 9.0 или новее.)

После окончания загрузки снова выбери версию, нажми next и заверши настройку нового устройства.
Установка Frida-server на твой виртуальный телефон
Далее — установить frida на твой виртуальный телефон. Скачай frida на ПК отсюда: https://github.com/frida/frida/releases и найди "frida-server" с той версией, что была выделена жёлтым, когда ты ставил frida через pip, и обязательно выбери версию android-x86, как показано ниже:

Распакуй скачанный файл в следующее место на твоём устройстве:
Используй Winrar или 7zip. (Или что-то похожее.)
И оставь там вот так:

--
Выбери один из двух способов:
Автоматизированный способ: https://simpcityopen.com/threads/81957/
Открой Терминал или Powershell в папке, куда ты распаковал инструмент. Есть несколько способов это сделать.
  • (Windows 10/11) Shift + ПКМ > Открыть в Terminal/Powershell. (Первое изображение)
  • (Windows 11) ПКМ + Показать больше опций > Открыть в Terminal. (Первое изображение)
  • (Windows 10/11) В строке пути введи "CMD" и нажми ENTER. (Второе изображение)
Вариант 1 и 2

Вариант 3

В Терминале или Powershell введи:
Попробуй вместо этого:
(То есть добавь ".\" перед этим.)
Ты должен увидеть эмулятор.

Убедись, что запустил свой виртуальный телефон, зайдя в Android Studio > Device Manager и нажав кнопку play своего виртуального телефона.
(Ты должен увидеть, как кнопка play превращается в кнопку stop, а под ней появится телефон.)
Если это не сработало, зайди в следующую папку:
Открой Терминал или Powershell и введи:
Попробуй вместо этого:
(Добавь ".\" перед этим.)
Ты должен увидеть на нём имя своего виртуального телефона. Чтобы запустить телефон, введи следующее:
Пример:

Твой виртуальный телефон теперь работает.
Продолжи, введя следующую команду, обязательно проверь, какую версию тебе сейчас нужно использовать:

После того, как это "вставится" на твоём телефоне, введи следующую команду, чтобы получить доступ к телефону (посмотри на примерные картинки, если эта часть кажется сложной):
Пример:

ДЕРЖИ ЭТОТ ТЕРМИНАЛ ИЛИ POWERSHELL ОТКРЫТЫМ!
Настройка скрипта Dumper
Зайди на следующий github на своём ПК (не на виртуальном телефоне) https://github.com/wvdumper/dumper и нажми зелёную кнопку "Code ", а затем "Download zip".
image4cd8d25dcc2e386a.png

Распакуй zip-файл куда хочешь. (У меня он всё ещё в папке загрузок) зайди в папку и открой файл requirements.txt через блокнот.
image65b962c80078751b.png

Добавь следующую строку в файл:
Теперь должно выглядеть примерно так:
image920bcc60ebad9b1b.png


Сохрани файл и открой новый Терминал или Powershell. (Не закрывая предыдущий.)
Ты можешь открыть терминал или powershell либо кликнув правой кнопкой и выбрав terminal/powershell (1), либо введя "CMD" в строке пути (2).
Вариант 1

Вариант 2

Во втором терминале или powershell введи:
Когда установка нужных пакетов закончится, введи следующее:
ДЕРЖИ ЭТОТ ТЕРМИНАЛ ИЛИ POWERSHELL ТОЖЕ ОТКРЫТЫМ!
Получение ключей через скрипт Dumper
Наконец используй свой виртуальный телефон и через chrome перейди на следующий сайт: https://bitmovin.com/demos/drm
Сайт спросит, можно ли ему воспроизводить защищённые видео. Нажми РАЗРЕШИТЬ.
Прокрути немного вниз, пока не увидишь видео, и нажми play.
Ты должен увидеть какую-то активность во втором терминале или powershell. Это значит, что всё сработало! 🎉
Чтобы это проверить, зайди в папку dumper-main и посмотри, есть ли там папка "key_dumps":

Зайдя ещё глубже в папки, ты найдёшь "private_keys", продолжай заходить, пока не увидишь эти два файла:

Переименуй эти файлы следующим образом:
Оригинальное имяНовое имя
client_id.bindevice_client_id_blob
private_key.pemdevice_private_key
Обязательно смени расширение, это должно произойти при переименовании файлов.
Проверь, изменился ли тип файла просто на "Файл" вместо файла BIN или PEM.*

*Учти, что это сравнение, у тебя будет только два файла (device_client_id_blob и device_private_key)
Теперь ты готов использовать ключи для скрейпинговых инструментов.
(Ниже я сделаю гайд по нескольким из этих скрейперов, опять же с целью сделать его простым для понимания и повторения.)
А пока можешь попробовать сам, следуя уже существующим гайдам отсюда:
https://simpcityopen.com/threads/2257/
 
Красава, спасибо :peepolove:
Добавил ссылки в нужные посты в своём гайде по OF, чтобы направлять людей сюда
 
Спасибо! После успешного извлечения ключей есть ли причина, почему нельзя удалить Android Studio, Python и т.д.? Или ключи со временем протухают и надо генерить заново?
 
Я бы советовал всегда держать python установленным, так как он используется в большинстве скраперов.
А Android Studio тоже лучше оставить установленным, потому что сгенерированные ключи со временем могут перестать работать. (Это сэкономит время в будущем)
 
Я сделал несколько batch-скриптов, которые немного ускоряют процесс, избавляют от необходимости лезть вручную в adb.exe и т.д. https://github.com/sim0n00ps/L3-Dumping. Постарался как можно подробнее объяснить, какие пути куда идут.
Ещё совет: в Helpers/Scanner.py поменяй имена файлов в строке 44 с "client_id.bin" на "device_client_id_blob" и в строке 47 с "private_key.pem" на "device_private_key". Это избавит от необходимости переименовывать файлы и убирать расширения потом.
 
Работает супер! Добавлю в гайд как "автоматическую" версию
 
Привет, хотел бы попросить небольшую помощь, так как следую туториалу, но, к сожалению, не всё у меня работает.
Конкретно: я следую пошаговой инструкции, выбираю автоматический метод, и когда завершаю все шаги, запускаю устройство и затем 'run.bat'.
Действительно открываются два окна командной строки. Однако когда я перехожу к следующим шагам, в инструкции говорится, что я должен увидеть какую-то активность в одном из окон. К сожалению, у меня ничего не происходит. Также не появляется новая папка в папке 'dumper-main'. Пробовал переделать всё заново, но проблемы те же. Прикладываю скриншоты своих окон командной строки. Может, кто-то сможет дать совет. Заранее спасибо за любую помощь.
https://i.pixl.li/246574e7dad017050.png
https://i.pixl.li/1e172e8a70f4c7dd0.png
 
Выполни pip install pycryptodome
 
Мой косяк. (Забыл упомянуть, что всё равно нужно запустить скрипт requirements.) Добавлю в гайд!
 
Спасибо вам обоим! Всё теперь работает.
 
Эй, у меня всё заработало с автоматическим методом только после того, как переименовал клиентские файлы и закинул их в папку cdm. Только вот blob-файл не находится в загрузчике OF. Device key находится, после переименования он сменился на тип "file". Когда я переименовал blob-файл, он не сменился с bin на "file", может в этом причина?
 
Да, скорее всего. Расширение должно смениться на "file". Смотри следующую картинку:
imageddca91dc6d8f83c8.png
 
Знаешь, как сделать так, чтобы bin-файл сменился на file? После переименования этого не произошло. Что мне сделать, чтобы это случилось?
 
Можешь включить вот это:
imagee05d8dc9a426ec06.png

Так увидишь, есть ли у файла ещё расширение после имени. (Если да, при редактировании имени нужно убрать часть .bin или .pem — Windows спросит, можно ли поменять расширение, просто разреши. Смотри следующую картинку:)
image58f3368fe0e4ae5d.png
 
Спасибо, чувак, всё равно выдаёт сообщение, что blob-файл не найден, не знаю, что я сделал не так, попробую всё заново. Private key при этом распознаётся.
 
У меня всё готово, застрял только на части с ключами. Сначала выдаёт эту ошибку "Unable to start: Error binding to address 127.0.0.1:27042: Address already in use", а когда перезапускаю — "'adb' is not recognized as an internal or external command"
 
Попробуй вот что.
Вместо того чтобы вызывать команду adb так:
Попробуй так:
 
Есть идеи, в чём ошибка? Получаю её и в ручном, и в автоматическом способе
 
Кажется, у меня такое уже было, в итоге просто удалил телефон и перезапустил весь процесс
 
Попробовал это, но не повезло
С ручным методом, хотя requirements выполнены, всё равно получаю ModuleNotFoundError: No module named 'frida'
 
Назад
Верх