Обновить

Взламываем 40-летний донгл защиты от копирования

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели12K
Всего голосов 43: ↑43 и ↓0+54
Комментарии40

Комментарии 40

Надо еще было вскрыть донгл и посмотреть что в нём)

Там внутри лежит игральная кость, у которой на каждой грани написано "6".

Работает не трогай! :)

  1. мне кажется автор, даже в таком археологическом угаре, но нарушил закон?

  2. желанием выложить взломанное ПО он вероятно добавит к сроку еще

  3. донгл наверное стоило вскрыть, а то статья не выглядит полной, там просто могут быть резисторы

  4. как правило защита от дурака уже достаточна, особенно в узком сегменте софта, когда потребности ломать её просто нет

  5. я свой софт защищал ключом в XOR, который генерился под ключ-запрос на машине клиента, сам алгоритм был в коде и при желании его можно было извлечь, продажи были сносные, не думаю что кто-то вообще пытался её ломать

мне кажется автор, даже в таком археологическом угаре, но нарушил закон?

какой?

ну например УК РФ Статья 272, Статья 273

Автор из Бостона, вряд ли местный суд волнует УК РФ.

во-первых, я задал вопрос - не нарушил ли он закон?

во-вторых, я не получил ответа, но мне задали вопрос - какой?

в-третьих, я указал ПРИМЕР такого закона.

где в данном случае появляется момент претензии ко мне? )

Вот что говорит ИИ (если есть желание можете проверять) по Бостону:

Да, в штате Массачусетс, где находится Бостон, действуют строгие законы, которые могут привести к уголовной и гражданской ответственности за взлом и распространение программного обеспечения. Вот ключевые аспекты:

1. Федеральное законодательство (действует на всей территории США)

  • Computer Fraud and Abuse Act (CFAA), 18 U.S.C. § 1030 — главный федеральный закон о компьютерных преступлениях. Запрещает несанкционированный доступ к компьютерам, кражу данных, распространение вредоносного ПО. Наказания: крупные штрафы и тюремное заключение до 10–20 лет (в зависимости от тяжести).

  • Digital Millennium Copyright Act (DMCA) — криминализует обход систем защиты авторских прав (DRM) и распространение пиратского ПО. Гражданские иски могут достигать $150,000 за каждый случай нарушения.

2. Законы штата Массачусетс

  • Глава 266, раздел 30 Массачусетского общего права (Mass. Gen. Laws ch. 266, § 30) — закон о краже интеллектуальной собственности. Прямо запрещает незаконное копирование, распространение или получение коммерческой выгоды от проприетарного ПО без разрешения правообладателя. Наказание: до 5 лет тюрьмы и штраф до $25,000.

  • Глава 93H, 93I (Законы о защите данных) — требуют защиты конфиденциальной информации. Утечка данных из-за взлома может привести к дополнительным штрафам и искам.

  • Глава 266, раздел 33A — о втором вторжении (computer trespass). Запрещает несанкционированный доступ к компьютерным системам. Наказание: до 2 лет тюрьмы.

3. Что считается нарушением?

Конкретно в Массачусетсе под ответственность подпадают:

  • Взлом (хакерство) — несанкционированный доступ к серверам, базам данных, облачным аккаунтам.

  • Кража ПО — установка или распространение программ без лицензии (пиратство).

  • Создание/распространение вредоносного ПО — вирусы, трояны, программы-вымогатели.

  • Обход лицензионных защит (взлом активации, кейгены, патчи).

  • Промышленный шпионаж — кража исходного кода или алгоритмов.

4. Реальные последствия

  • Уголовное дело от прокуратуры штата или федеральных органов (FBI).

  • Гражданские иски от компаний-правообладателей на миллионы долларов.

  • Конфискация оборудования (компьютеров, серверов), использованного для преступления.

  • Запрет на работу в IT-сфере и депортация (для неграждан).

5. Известные прецеденты в Массачусетсе

  • В Бостоне находится Окружная прокуратура Массачусетса — одна из самых активных в стране по киберпреступлениям.

  • Университеты (MIT, Гарвард) и IT-компании штата (например, в сфере биотеха и fintech) активно защищают свою интеллектуальную собственность.

6. Исключения и серая зона

  • Ответственное раскрытие уязвимостей (ethical hacking) — если исследователь взламывает систему с явного разрешения владельца и по согласованным правилам (программы bug bounty).

  • Академические исследования (например, в MIT) могут иметь особые разрешения, но всё равно в рамках закона.

  • Использование ПО с открытым исходным кодом (open-source) — если соблюдена его лицензия (GPL, MIT License).

Вывод:

В Бостоне (штат Массачусетс) действует жёсткое сочетание федеральных и местных законов, карающих за взлом и нелегальное распространение ПО. Наказания варьируются от крупных штрафов до длительных тюремных сроков. Перед любыми действиями с ПО, которые могут быть истолкованы как взлом или пиратство, необходимо получить юридическую консультацию и убедиться в их законности.

где в данном случае появляется момент претензии ко мне? )

Понятия не имею. А была претензия?

ну вы же пишете о том что автор из Бостона и что закон РФ там не работает, это претензия к моему примеру, если бы не было претензии, то вы бы ничего не написали так как мой ответ бы вас устроил, а вот почему он вас не устроил мне не ясно, выше я вам написал три пункта того как именно развивалась беседа, вам там что-то непонятно?

В некоторых странах сколь я помню Закон прямо допускает модификацию законно приобретенного софта. Но он же нарушил Лицензию. Там же наверняка есть - "не дизасьмь кода моего". А если эта бух.фирма еще и заплатила ему за это - корыстно нажился на чужой интеллектуальной собственности. Может дети/внуки владельцев Software West нонче безработные (кончено же иза внедрения ИИ), голодают , не дополучая прибыли от людей о которых они скорее всего даже не знают.

Скорее за продажи может и влететь и доказывай потом что это abandonware

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

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

Всего-то надо было ещё десяток лет подождать, когда закончатся патенты, используемые в том ПО. Жаль автор статьи не описал, какой такой функционал там присутствует, что нет аналогов спустя столько лет...

Кстати, в продаже существуют pci и pci-e карты для lpt портов, и dosbox на 20 Винде работает точно. На 11 не проверял.

То есть если не использовать дизассемблер, а выучить опкоды, то это будет законно?

кстати да, правда в этом надо будет убедить судью/присяжных или кого там :) поэтому в лицензию сразу добавляют еще и анализ работы

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

спасибо за понятный и развернутый ответ!

Наивные были времена.
Все было как-то попроще, что ли?

Security through obscurity.

Тогда мало кто знал, что значит Ctrl+Alt+Del...

Должен сказать, что этот механизм защиты от копирования выглядит немного... упрощённым. Аппаратный донгл, который просто возвращает постоянное число? И защита, которую можно обойти четырёхбайтным патчем?

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

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

Ради интереса (!) я делал по-другому. Если донгл вставляется в порт принтера, то там надо его и ловить. Написал небольшую резидентную программу в памяти. Она делала останов по T биту (отладка). И, как только в регистре DX появлялось число 0x378, ( это адрес LPT1) происходил останов программы и выводился PC. По этому PC смотрел программой hiew.exe (hacker view), что там содержится, заменял кодом NOP (0x90 насколько помню). Программа игнорировала заглушку и работала. Начал было дизассемблер свой писать, но дошел до кодов команд без операндов Дальше не было времени.

Что интересно, 386sx 33MHz работал под отладчиком довольно шустро.

Но, кстати, были и такие защиты, которые по времени исполнения кода понимали, что работают под отладкой. А ещё и меняли код в кеше команд на лету и т.д. и т.п.

были и такие защиты, которые по времени исполнения кода понимали, что работают под отладкой.

Так это на оргинальной системе. А на современных за это время код может ещё и кофе сходить попить.

Спасибо за перевод, было интересно.

Если донгл в наличии, то зачем было брутфорсить? Просто сделать останов на выходе из процедуры и посмотреть что в регистрах.

Эх! Сразу вспомнил 1С и саблю)

кстати а почему бы коду защиты не быть написаны вставкой на asm, причем готовой, просто sdk уже не найти... и че там декомпилировать тогда..

Мне понравилась статья. Но мое мнение что заголовок не отражает сути. Пу сути выполнен патч для ПО. Причем как я понял, даже без самомго физического ключа! Т.к. п.о считывало константу. (кстати интересно это именно конкретные экземпляры этого ПО просили эту цифру? Или каждый экземпляр по был уникальным и требовал своего ключа?)

I forwarded this to my dad who still works on RPG. This product is called "Software Sentinel":

It required an input key that was unique to our dongle series & our own code that was whatever we wanted. The reply was a hash of both values.

The last version we used was USB. They retired the parallel style long ago.

https://news.ycombinator.com/item?id=46857168

О, чудный, дивный мир, в котором не совсем уж маленькая, судя по всему, фирма может работать на бухгалтерском ПО 30-тилетней давности.

И 30 лет далеко не предел, попадалась заметка где "копмпьтеру" и "ПО" было около 70.

О, чудный, дивный мир, в котором не совсем уж маленькая, судя по всему, фирма может работать на бухгалтерском ПО 30-тилетней давности.

Просто эта фирма работает в чудной дивной стране, где к Налоговому кодексу не выпускают сервиспаки и хотфиксы каждый месяц.

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

Другой вопрос, что в некоторых странах бухучёт часто ведёт директор в тетрадке, а не вот это вот всё.

А иронию там понимают? ;-)

Неужто в 1С донглы были такие же тупые? Как будто с ними не было такого примитивного решения патчем.

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

Скорее всего в донгле стоит чип EPROM, и при обращении по разным адресам он выдаёт заранее прописанные разные данные. Со временем эти данные начали портиться, т.к. в те годы гарантированный срок хранения у EPROM был в районе 10 лет, поэтому заказчику, имеющему донгл, пришлось обратиться к автору для взлома ПО.

Можно было, конечно, пройти на одну инструкцию, куда попадает управление после retf и заменить cmp на nop, но это путь для слабаков.

А кто сказал, что это в одном месте вызывается?!
Все верно. Если менять, то перед возвратом. Инкапсуляция наше все :)

Должен сказать, что этот механизм защиты от копирования выглядит немного... упрощённым. Аппаратный донгл, который просто возвращает постоянное число? И защита, которую можно обойти четырёхбайтным патчем? Действительно ли оно стоит патента?

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

Был ещё такой FlexLM. Ставился на очень дорогой софт (компиляторы, средства разработки, САПР, различный софт для управления каким-то хитрым оборудованием), при этом для обхода в некоторых версиях было достаточно заменить одну-единственную DLLку (lmgr325c.dll) на пропатченную. Вроде в ней была вся магия. А причина всё та же - для защиты домашних продуктов никто это не использовал. А те, для кого предназначалось защищённое ПО, и так были готовы платить за него адовые деньги.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации