Обновить

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

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели18K
Всего голосов 58: ↑58 и ↓0+72
Комментарии56

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

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

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

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

НЛО прилетело и опубликовало эту надпись здесь

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

какой?

НЛО прилетело и опубликовало эту надпись здесь

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

НЛО прилетело и опубликовало эту надпись здесь

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

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

НЛО прилетело и опубликовало эту надпись здесь

О, просто написать глупые претенциозные вопросамы вам показалось мало, вы еще решили ллмку на помощь позвать, чтобы еще и копированием слопа попозориться

Вот что говорит ИИ

Ага!

НЛО прилетело и опубликовало эту надпись здесь

Проблема не в том, что «ИИ врёт». Проблема в том, что «ИИ иногда врёт, причём настолько правдоподобно, что если сам не разбираешься в вопросе, который задавал, то отличить одно от другого невозможно».

А коли так — то нафига его вообще цитировать, причём ещё особо выпячивая — «смарите, это ИИ сказал!»

НЛО прилетело и опубликовало эту надпись здесь

Это вам для размышления.

Совершенно верно. Поэтому когда таких людей детектировали, их изолировали от общества (обычно — через бойкот).

я спросил у ИИ, чётко обозначив что проверять ИИ я доверяю тому кто спросил.

У приличных людей не принято вываливать перед остальными кучу го нейрослопа со словами "...а теперь сами разбирайтесь". Хотите привести аргумент, к которому будут готовы прислушаться — найдите закон (хоть через гугель, хоть через Ваш любимый бредогенератор), и приведите ссылочку на него, чтобы все желающие могли сходить и сами убедиться.

НЛО прилетело и опубликовало эту надпись здесь

В какой момент у меня появляется такая обязанность?

В момент, когда Вы начинаете хотеть, чтобы о Вас не думали неприлично?

НЛО прилетело и опубликовало эту надпись здесь

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

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

НЛО прилетело и опубликовало эту надпись здесь

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

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

Видимо, ему нужен был компилятор RPG

На 10 Винде, 20 не вышла пока что)

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

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

В законе об 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) на пропатченную. Вроде в ней была вся магия. А причина всё та же - для защиты домашних продуктов никто это не использовал. А те, для кого предназначалось защищённое ПО, и так были готовы платить за него адовые деньги.

В те времена это было достаточно распространённой практикой, особенно у поставщиков «корпоративного» ПО, защищавшего свои очень важные™ программы от неавторизованного применения.

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

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

Публикации