Классический форум-трекер
canvas not supported
Нас вместе: 4 232 364

Под чёрным флагом пост, или Как я не выложил видеокурс на трекер


Страницы:  1, 2, 3, 4, 5, 6  След. 
 
RSS
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Поговорим -> Новости P2P, Копирайт, Блокировки
Автор Сообщение
Maximus ®
Вольный стрелок
Uploader 100+
Стаж: 17 лет 6 мес.
Сообщений: 5092
Ratio: 25.179
Поблагодарили: 13237
100%
nnm-club.gif
В трудное время мы живем, не находите? Люди эгоистичны, не признают ценность чужих трудов, любят приходить сразу на все готовое. Интеллектуальная собственность для многих вообще выглядит не более чем бюрократической шуткой: «Как же это так, информация должна быть свободной, ведь это ИН-ФОР-МА-ЦИЯ!!!11». Согласен, в идеале это так. Эти ваши анархии, мятежнические настроения и философии андерграундных хакеров/пиратов, стоящих на страже прав простого люда, мне не чужды. Но парадокс в том, что истинная справедливость – это еще и отплачивать всем за их труд и заслуги, поэтому в большинстве случаев пиратство – антагонистическое предприятие. Но вот политика предоставления услуг по защите интеллектуальной собственности, предлагаемая таким замечательным вендором, как ИнфоПротектор, вызвал у меня праведный гнев.

Под катом история о том, как я приобрел платный видеокурс, выпал в осадок после осознания того, что я не смогу сохранить видеоролики из оного для повторного просмотра в будущем, разозлился на тех, кто скропал этот квазизащитный софт (который, ко всему прочему, безжалостно лагает и жрет много ресурсов машины) и решил немного восстановить справедливость… Не нарушая закон, конечно же. Amen.

ДИСКЛЕЙМЕР. Все нижеизложенное опубликовано в исследовательских целях и призвано выполнить исключительно образовательную функцию. Автор не несет ответственности за неправомерное использование информации из данного поста и ни в коем случае не призывает воспринимать его как «инструкцию к действию».

Как все было

Выдались свободные выходные, и решил я выложить честно заработанные XXXX р. на 5-и часовой видеокурс. Назовем его «Курсом повышения квалификации для работника общепита», чтобы не возникло никаких параллелей. Вообще, я не сторонник восприятия информации через видеоуроки (о-о-очень контрпродуктивно), но здесь прямо не удержался – пал жертвой красочных рекламных баннеров.

Оплатил, на почту прилетело письмо, содержащее ссылки на загрузку материалов, придуманные (ссылки) рандомайзером ИнфоПротектора и выплюнутые на близлежащий CDN. В теле письма – благодарности автора за приобретение и регистрационный ключ, которым предлагалось активировать покупку.

Скачиваю архив. В архиве папка. В папке исполняемый файл. В исполняемом файле яйцо. Запускаю exe'шник – здесь-то мне и выложили всю правду, которая в свободном пересказе звучит примерно так (читать гнусавым голосом):
    К данному видеокурсу применен механизм защиты цифровой информации компании «ИнфоПротектор»; для первого запуска (читать «активации продукта») необходим доступ в Интернет; просмотр видеороликов возможен только из нашей программы, из нашего плеера; установка видеокурса возможна только на двух компьютерах (видеокурс привязывается к конфигурации окружения ОС / железа, как выяснится позже).

Вот на этом моменте я немного огорчился. Т. е. мало того, что меня обозвали бесчестным человеком, которому лишь бы лишить чужой труд монетизации, так еще и курс, за который я выложил приличную сумму, будет доступен мне только до переустановки системы.

«Так не пойдет», – решил я и начал серию экспериментов.

Ограничения, налагаемые ИнфоПротектором

Чтобы не тратить время зря, для начала я обратился ко всемирной паутине, чтобы узнать, что уже люди накопали о механизме защиты этих ребят (все тонкости работы защиты, разумеется, не раскрываются).

Что удалось узнать:

Ключ активации генерируется случайным образом при оплате курса и используется для того, чтобы быть аутентифицированным сервером, который в случае успеха высылает клиенту AES-ключ для расшифрования видеоматериалов, доступных из-под кастомного плеера компании. Реверсить приложение долго и максимально трудоемко (т. е. нецелесообразно для такого рода задачи), поэтому этот путь я решил оставить.
Использование средств записи экрана безжалостно блокируется по целому ряду направлений: на одном хосте нельзя одновременно запустить плеер и любой screen capturer, т. к. программа детектит запущенные процессы с их метаданными: названия заголовков окон; описание исполняемых файлов; названия вендоров, вшитых в exe'шники приложений захвата; даже браузер, открытый на страничке, в названии которой есть слово «Fraps», к примеру, также является предметом для алерта и завершении работы плеера.
Песочницы, виртуальные машины и стриминг контента с удаленных подключений (rdesktop, RAdmin, TeamViewer) тоже не вариант – не по годам умный софт умеет определять и их, самоубиваясь при каждом удобном случае.

Но несмотря на последние два пункта самым реальным вектором атаки остается все же запись экрана, реализовать которую можно попробовать несколькими способами:

Найти программу для захвата, которая бы не содержала слов-маячков в своем названии/производителе/описании, которую не знает ИнфоПротектор, и на которую, следовательно, последний не будет триггериться. Минусы: долго, скучно и не факт, что в принципе выполнимо.
Найти опенсорс-продукт, обладающий нужным функционалом, и скомпилировать свою версию захватчика экрана, заменив в исходниках все, что защите ИнфоПротектора в теории может показаться подозрительным. Минусы: долго, скучно, трудоемко (обычно такие проекты довольно громоздки, состоят из сотен (?) файлов и имеют кучи зависимостей в исходниках, поэтому просто Ctrl-H не прокатит, это тебе не mimikatz править, чтобы Windows Defender не стриггерить).
Написать свое решение на чем-нибудь скриптовом, чтобы не рисковать со скомпилированным исполняемым файлом неизвестной природы (неизвестно, что на это скажет эта зараза), реализующее тривиальный функционал быстрого снятия скриншотов с выбранной области экрана (благо, ИнфоПротектор это позволяет), и отдельно записать звуковую дорожку, что тоже оказалось легитимным и максимально простым действом.

Минусов третьего пункта не обнаружилось, поэтому можно приступать.

Заскриншотить весь мир

Первое: разберемся, как автоматизировать процесс создания тучи скриншотов с помощью скрипта. Конечно, это: Python, и еще OpenCV, и еще MSS, и еще PIL.

Процесс предельно прост:

Выставим размер окна плеера, равным разрешению выходного видео, которое мы хотели бы иметь (логично учесть место для элементов управления скриптом – окно с терминалом, например, которое не должно попасть в область записи). Это можно сделать такой чудесной софтиной.
Расположим окно плеера в такой позиции, как найти которую было бы проще всего объяснить скрипту – правый нижний угол экрана (думаю, система отсчета, связанная с границами экрана — самый удобный вариант).
Натравим уже написанный скрипт (который будет чуть ниже) делать скриншоты этой области.
Не трогаем эту неуклюжую систему в процессе всего проигрывания видео.

Скрипт под спойлером:
Код: выделить все
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# Usage: python3 fckInfoprotector.py <WIDTH> <HEIGHT>

import sys

import numpy as np
import cv2
from mss.windows import MSS as mss
from PIL import Image

class Capturer:

  def __init__(self, w, h, resolution='1080p', fps=24.975):
    if resolution == '1080p':
      self.monitor = {
        'top': 1080 - h,
        'left': 1920 - w,
        'width': w,
        'height': h
      }

    elif resolution == '1440p':
      self.monitor = {
        'top': 1440 - h,
        'left': 2560 - w,
        'width': w,
        'height': h
      }

    else:
      raise ValueError('Unsupported monitor resolution')

    self.sct = mss()

    self.vid = cv2.VideoWriter(
      'output.avi',
      cv2.VideoWriter_fourcc(*'XVID'),
      fps=fps,
      frameSize=(
        self.monitor['width'],
        self.monitor['height']
      )
    )

  def mainloop(self):
    try:
      while True:
        sct_img = self.sct.grab(self.monitor)
        sct_img_size = (sct_img.width, sct_img.height)

        img = Image.frombytes(
          'RGB',
          sct_img_size,
          sct_img.rgb
        )

        frame = cv2.cvtColor(
          np.array(img),
          cv2.COLOR_BGR2RGB
        )

        self.vid.write(frame)

    except KeyboardInterrupt:
      cv2.destroyAllWindows()
      print('Interrupted')

if __name__ == '__main__':
  if len(sys.argv) != 3:
    print(f'Usage: {sys.argv[0]} <WIDTH> <HEIGHT>')
    sys.exit()

  w, h = (int(x) for x in sys.argv[1:3])
  capturer = Capturer(w, h, fps=50.0)
  capturer.mainloop()
Записать аудиодорожку

Ну здесь совсем элементарно: Windows позволяет сделать это встроенными средствами.

Для Windows 7: Пуск -> Панель управления -> Оборудование и звук -> Звук -> Запись -> Показать отключенные устройства и выбрать «Стерео микшер»



Теперь при начале записи к нашей и без того неуклюжей конструкции добавляется еще такая кнопка, на которую тоже нужно нажимать:



Объединить две половинки целого

После того, как видеоряд и звуковое сопровождение готовы, остается эту конструкцию склеить. Будем делать это в чудесном видеоредакторе под название VirtualDub.

Откроем видео:



Добавим аудиодорожку:



Изменим фреймрейт видео, т. к. в оригинальном плеере он оказался непостоянным. Поэтому, чтобы видео и аудио имели одну и ту же длину, снизим частоту кадров с 50 (мы специально взяли с запасом, когда записывали) до X, где X рассчитывается по формуле:

X=captured_video_duration×50÷original_video_duration


Да, при таком подходе могут быть незначительные рассинхроны голоса и картинки, но это вынужденные жертвы.

Добавим компрессию видео по желанию и F7! Получили ролик из видеокурса.

Под занавес

Почему этот пост наполнен таким негодованием? Постараюсь объяснить.

Во-первых, при покупке курса я нигде не нашел упоминаний о том, что я буду ограничен в его использовании всеми возможными способами. Я специально вернулся на страничку магазина и попытался найти в договоре оферты хоть что-нибудь, что укажет мне на то, что для использования курса я буду вынужден быть привязанным к конкретному персональному компьютеру. Нет, в соглашении только стандартные слова.

Во-вторых, мне непонятна логика друзей из ИнфоПротектора: зачем столько усилий и кривой софт (который жаловался даже на дрова NVIDIA, как на средство записи экрана!), если в конце концов, у злоумышленника, которому лень будет заниматься тем бредом, что описал здесь я, просто есть возможность сделать «экранку», поставив перед монитором камеру на штативе?

В-третьих, многие скажут: «Так ведь DVD-диски тоже были защищены от копирования!». Да, все так. Только вот диск я мог взять куда угодно, посмотреть его столько раз, сколько мне нужно (имею право), и он работал бы так же исправно, сколько компьютеров я бы не поменял.

Поэтому предлагаю ИнфоПротектору более действенное решение: не только вырубать плеер, если обнаружен инстанс процесса интерпретатора скриптового языка, но и поставить обязательным условием наличие у купившего курс веб-камеры, к которой будет прикреплен сотрудник (пускай, низшего звена), рьяно фиксирующий, не выполняет ли зритель противоправных действий. Думаю, это решит множество проблем с пиратством (нет).

Закон и великий Договор я не нарушил, материалы на просторы Интернета не выкладывал и не собираюсь, единственное мое преступление – любопытство.

Йо-хо, громче черти!

habr.com

_________________
«Если ты ненавидишь, значит тебя победили» – Конфуций
Amon2501
Стаж: 16 лет 7 мес.
Сообщений: 419
Ratio: 59.903
Раздал: 13.82 TB
Поблагодарили: 535
100%
ussr.gif
А потому что все хотят быть рантье, никто не хочет работать. Чтобы еще раз получить зарплату надо еще раз поработать. А они хотят один раз сделать какой то видеокурс и ВЕЧНО с него рубить бабло, не делая ничего нового. И даже только поэтому пиратство-хорошо.

_________________
Если не видно разницы, то зачем платить больше?
Wouwerman
Стаж: 13 лет 9 мес.
Сообщений: 49
Ratio: 67.673
Раздал: 113.7 TB
100%
Цитата:
но и поставить обязательным условием наличие у купившего курс веб-камеры, к которой будет прикреплен сотрудник (пускай, низшего звена), рьяно фиксирующий, не выполняет ли зритель противоправных действий. Думаю, это решит множество проблем с пиратством (нет).

Ну вот зачем, а? Им же соображалки хватит ровно так и сделать.
dio669
Стаж: 9 лет 2 мес.
Сообщений: 633
Ratio: 4.849
100%
Еще один способ, можно использовать аппаратное устройство видеозахвата, тут никакая защита не поможет. : ) В некоторых имеется сквозной канал, так что даже со стороны не всякий догадается что между видюшкой и монитором что то стоит. И качество будет получше, никаких выпадений кадров, в отличие от программных методов.
Демон Икс
Стаж: 8 лет 8 мес.
Сообщений: 19
Ratio: 17.707
0%
Капиталисты!
А можно ссылку на чудо магазин который страдает такой фигней?

P.S. Купил я значит машину выходит мужик дает ключи проверяет мой паспорт и говорит в защиту интеллектуальной собственности вам можно ездить только в своём районе, одному и только раз в неделю спасибо за покупку!))
Aleiv
Стаж: 12 лет 10 мес.
Сообщений: 5127
Ratio: 57.007
100%
Откуда: От верблюда....
pirates.png
Делал экранку с хорошего моника нормальной камерой, получалось вполне неплохо для видеокурсов. Это может сделать каждый, почти. Так зачем все эти выкрутасы с защитой?
mrak61ru
 
Стаж: 14 лет 8 мес.
Сообщений: 81
Ratio: 11.367
100%
Я так справочник как то купил. Только на одном компе смотреть можно и 2 раз активировать. Хорошо что скрин работал. Больше не покупаю с защитой.
XAWE
Стаж: 12 лет 4 мес.
Сообщений: 47
Ratio: 6.177
9.81%
наверное нереально, но можно было бы потребовать деньги обратно и больше не покупать у этой компании, а так же раструбить о нечестных практиках по всему инету.
А теперь, поскольку деньги они уже получили, то все в посте описанное им до лампочки. Придет следующий клиент и по незнанию заплатит за эту фигню.
Проклетый Пират
Стаж: 14 лет 5 мес.
Сообщений: 208
Ratio: 35.289
Поблагодарили: 26
16.62%
Откуда: Питер
russia.gif
Зачем делать экранку? зачем покупать аппаратный захват? можно же запустить виртуальную машину с ОС, а из основной вести запись. Кстати это по идеи должно сработать и с "установкой только на один комп". Хотя возможно придётся покопаться в настройках ВМ.
vikonrob
Стаж: 13 лет 6 мес.
Сообщений: 321
Ratio: 11.031
6.43%
nnm-club.gif
Тот самый случай, когда на защиту тратится ср-в гораздо больше, чем на создание контента..

Добавлено спустя 1 минуту 51 секунду:

Проклетый Пират писал(а): Перейти к сообщению
можно же запустить виртуальную машину с ОС, а из основной вести запись.

Запуск в ВМ это чуть ли не самое первое на что ругается подобный софт..
irbis193
Стаж: 11 лет 3 мес.
Сообщений: 4
Ratio: 15.859
Раздал: 5.47 TB
100%
Откуда: Санкт-Петербург
russia.gif
Еще тогда им нужно блокировать все приложения, которые используют Хромиум в той или иной мере (Skype, Discord, браузеры, WallpaperEngine, Atom, GitHub Desktop, системы прокторинга и прочие), ибо с их помощью можно записывать экран и звук из системы.
Маразм крепчает..
immortal1977
Стаж: 12 лет 5 мес.
Сообщений: 28
Ratio: 9.188
14.91%
russia.gif
litres так продает некоторые свои книги: вместо pdf предлагает смотреть их в своей читалке. И все бы ничего, но их читалка крайне криво работает на планшете huawei, пользоваться одно мучение, а альтернативы нет.
ivanovsalex
Стаж: 10 лет 2 мес.
Сообщений: 10
Ratio: 7.819
1.06%
russia.gif
На телефон нужно было снять и норм :)
Василий1979
Только чтение
Стаж: 13 лет 5 мес.
Сообщений: 1039
Ratio: 4.538
90.88%
russia.gif
Демон Икс писал(а): Перейти к сообщению
P.S. Купил я значит машину выходит мужик дает ключи проверяет мой паспорт и говорит в защиту интеллектуальной собственности вам можно ездить только в своём районе, одному и только раз в неделю спасибо за покупку!))

Взяли в аренду, точнее. Вам же продают право использования. А на рентовые кары ограничения накладываются.
JS8VQ
 
Стаж: 13 лет 9 мес.
Сообщений: 89
Ratio: 6.494
100%
Откуда: Краснодарский край
russia.gif
immortal1977 писал(а): Перейти к сообщению
litres так продает некоторые свои книги: вместо pdf предлагает смотреть их в своей читалке. И все бы ничего, но их читалка крайне криво работает на планшете huawei, пользоваться одно мучение, а альтернативы нет.

А свои ли книги она продаёт?Что с этих продаж получают авторы.
Показать сообщения:   
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Поговорим -> Новости P2P, Копирайт, Блокировки Часовой пояс: GMT + 3
Страницы:  1, 2, 3, 4, 5, 6  След.
Страница 1 из 6