Взлом программного обеспечения

редактировать

Модификация программного обеспечения, часто для бесплатного использования

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

A трещина относится к средствам получения, например, кражи серийного номера или инструмент, который выполняет этот акт взлома. Некоторые из этих инструментов называются keygen, patch или loader. Keygen - это генератор серийных номеров продукта, созданный вручную, который часто предлагает возможность генерировать рабочие серийные номера от вашего собственного имени. Патч - это небольшая компьютерная программа, которая изменяет машинный код другой программы. Это дает взломщику преимущество в том, что он не включает большой исполняемый файл в выпуск, когда изменяются только несколько байтов. Загрузчик изменяет последовательность запуска программы и не снимает защиту, а обходит ее. Хорошо известным примером загрузчика является трейнер, используемый для читерства в играх. Fairlight указал в одном из своих файлов .nfo, что этот тип взламывает не разрешены для релизов игр warez scene. nukewar показал, что защита может не сработать в любой момент, чтобы это был действительный взлом.

Распространение взломанных копий незаконно в большинстве стран. Были судебные иски по поводу взлома программного обеспечения. В определенных обстоятельствах использование взломанного программного обеспечения может быть законным. Однако образовательные ресурсы по обратному проектированию и взлому программного обеспечения легальны и доступны в виде программ Crackme.

Содержание
  • 1 История
  • 2 + HCU
  • 3 Методы
  • 4 Пробный сброс
  • 5 См. Также
  • 6 Ссылки
История

Первое программное обеспечение защита от копирования была применена к программному обеспечению компьютеров Apple II, Atari 800 и Commodore 64. Издатели программного обеспечения применяют все более сложные методы, пытаясь остановить несанкционированное копирование программного обеспечения.

В Apple II, в отличие от современных компьютеров, которые используют стандартизированные драйверы устройств для управления обменом данными между устройствами, операционная система напрямую управляла шаговым двигателем, который перемещает головку дисковода гибких дисков, а также напрямую интерпретировала необработанные данные, называемые полубайтами, читать с каждой дорожки для идентификации секторов данных. Это позволяло осуществлять комплексную программную защиту от копирования на диске, сохраняя данные на половинных дорожках (0, 1, 2.5, 3.5, 5, 6...), четвертных дорожках (0, 1, 2.25, 3.75, 5, 6...) и любое их сочетание. Кроме того, треки не обязательно должны быть идеальными кольцами, их можно разделить так, чтобы секторы могли располагаться в шахматном порядке по перекрывающимся смещенным трекам, наиболее экстремальный вариант известен как спиральное отслеживание. Также было обнаружено, что многие дисководы гибких дисков не имеют фиксированного верхнего предела движения головки, и иногда можно было записать дополнительную 36-ю дорожку сверх обычных 35 дорожек. Стандартные программы копирования Apple II не могли читать такие защищенные дискеты, поскольку стандартная DOS предполагала, что все диски имеют одинаковую структуру из 35 дорожек, 13 или 16 секторов. Специальные программы полубайтового копирования, такие как Locksmith и Copy II Plus, могли иногда дублировать эти диски, используя справочную библиотеку известных методов защиты; когда защищенные программы будут взломаны, они будут полностью лишены системы защиты от копирования и перенесены на диск стандартного формата, который может прочитать любая обычная программа копирования Apple II.

Одним из основных способов взлома этих ранних средств защиты от копирования был запуск программы, имитирующей нормальную работу ЦП. Симулятор ЦП предоставляет хакеру ряд дополнительных функций, таких как возможность пошагового выполнения каждой инструкции процессора и проверки регистров ЦП и измененных пространств памяти во время моделирования (это может сделать любой современный дизассемблер / отладчик). Apple II предоставил встроенный дизассемблер кодов операций, позволяющий декодировать необработанную память в коды операций ЦП, и это будет использоваться для проверки того, что защита от копирования собиралась делать дальше. Как правило, для системы защиты от копирования практически не было защиты, поскольку все ее секреты становятся видимыми посредством моделирования. Однако, поскольку сама симуляция должна выполняться на исходном процессоре, помимо взломанного программного обеспечения, симуляция часто выполнялась очень медленно даже на максимальной скорости.

На 8-битных компьютерах Atari наиболее распространенным методом защиты было использование «битых секторов». Это были сектора на диске, которые диск не читал намеренно. Программное обеспечение будет искать эти секторы при загрузке программы и прекращает загрузку, если при доступе к этим секторам не возвращается код ошибки. Были доступны специальные программы копирования, которые копировали диск и запоминали любые битые сектора. Затем пользователь мог использовать приложение для вращения диска, постоянно считывая один сектор и отображая частоту вращения диска. Сняв верхнюю часть дисковода, можно использовать небольшую отвертку, чтобы снизить скорость вращения диска ниже определенной точки. После того, как диск замедлился, приложение могло пойти и записать «битые сектора» там, где это необходимо. Когда это было сделано, обороты привода были увеличены до нормального значения, и была сделана копия без трещин. Конечно, взломать программное обеспечение, чтобы ожидать хороших секторов для легко копируемых дисков без необходимости вмешиваться в дисковод. Со временем были разработаны более сложные методы, но почти все они включали некоторую форму искаженных данных на диске, например сектор, который мог возвращать разные данные при разных доступах из-за неправильного выравнивания данных. Стали доступны продукты (от таких компаний, как Happy Computers ), которые заменили BIOS контроллера в «умных» дисках Atari. Эти модернизированные диски позволяли пользователю делать точные копии исходной программы с защитой от копирования на новом диске.

На Commodore 64 использовалось несколько методов защиты программного обеспечения. Для программного обеспечения, распространяемого на картриджах ПЗУ, были включены подпрограммы, которые пытались перезаписать программный код. Если бы программное обеспечение было в ПЗУ, ничего бы не произошло, но если бы программное обеспечение было перемещено в RAM, оно было бы отключено. Из-за работы дисководов для гибких дисков Commodore одна схема защиты от записи может привести к ударам головки дисковода о конец направляющей, что может привести к смещению головки дисковода. В некоторых случаях было желательно использовать взломанные версии программного обеспечения, чтобы избежать этого. Смещение приводной головки было редкостью, обычно она устранялась ударами о направляющие упора. Еще одна жесткая схема защиты - это несколько раз перетирание с 1 по 40 и обратно.

Большинство первых взломщиков программного обеспечения были компьютерными энтузиастами, которые часто объединялись в группы, которые соревновались друг с другом во взломе и распространении программного обеспечения. Как можно быстрее взломать новую схему защиты от копирования часто рассматривали как возможность продемонстрировать свое техническое превосходство, а не как возможность заработка. Некоторые неопытные любители брали уже взломанное программное обеспечение и редактировали в нем различные незашифрованные строки текста, чтобы изменить сообщения, которые игра сообщала бы игроку, часто считавшиеся вульгарными. Загрузка измененных копий в сети обмена файлами стала поводом для смеха у взрослых пользователей. Группы взломщиков 1980-х начали рекламировать себя и свои навыки, прикрепляя анимированные экраны, известные как взломанные заставки, в программы, которые они взломали и выпустили. Когда техническое соревнование расширилось от задач взлома до задач создания визуально ошеломляющих вступлений, были заложены основы для новой субкультуры, известной как демосцена. Demoscene начала отделяться от нелегальной "варез-сцены" в 1990-х годах и теперь рассматривается как совершенно другая субкультура. Многие взломщики программного обеспечения позже превратились в чрезвычайно способных инженеров-реверс-инженеров; глубокие знания сборки, необходимые для взлома защиты, позволяют им перепроектировать драйверы, чтобы переносить их с двоичных драйверов для Windows на драйверы с исходный код для Linux и других бесплатных операционных систем. Кроме того, поскольку музыка и вступление к играм были неотъемлемой частью игр, музыкальный формат и графика стали очень популярными, когда оборудование стало доступным для домашнего пользователя.

С появлением Интернета взломщики программного обеспечения создали секретные онлайн-организации. Во второй половине девяностых одним из наиболее уважаемых источников информации о «реверсировании защиты программного обеспечения» был веб-сайт Fravia.

Большинство известных или «элитных» групп взломщиков делают программные взломы исключительно для уважения в «Сцене », а не для прибыли. Отсюда взломы в конечном итоге попадают на общедоступные Интернет-сайты людьми / взломщиками, которые используют хорошо защищенные / безопасные архивы FTP-релизов, которые преобразуются в полные копии и иногда незаконно продаются другими сторонами.

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

+ HCU

The High Cracking University (+ HCU) был основан Old Red Cracker (+ ORC), считающимся гением реверс-инжиниринга и легендарной фигурой в RCE, для продвижения исследований в Reverse Code Engineering (RCE). Он также преподавал и написал множество работ по этой теме, и его тексты считаются классикой в ​​этой области и являются обязательными для чтения студентами RCE.

Добавление знака «+» перед ником реверсер означал членство в + HCU. Среди студентов + HCU были одними из лучших в мире реверсоров Windows. + HCU ежегодно публикует новую задачу обратного проектирования, и небольшое количество респондентов с лучшими ответами имеют право на получение степени бакалавра в университете.

+ Фравиа был профессором + HCU. Веб-сайт Фравии был известен как «+ Страницы обратного инжиниринга Фравии», и он использовал его, чтобы бросить вызов программистам, а также широкому обществу, чтобы «перепроектировать» «промывание мозгов коррумпированному и безудержному материализму». В период своего расцвета его веб-сайт собирал миллионы посетителей в год, и его влияние было «широко распространенным».

В настоящее время большинство выпускников + HCU перешли на Linux, и лишь немногие остались реверсерами Windows. Информация в университете была заново открыта новым поколением исследователей и практиков RCE, которые начали новые исследовательские проекты в этой области.

Методы

Наиболее распространенным взломом программного обеспечения является модификация двоичный файл приложения, чтобы вызвать или предотвратить конкретную ключевую ветвь в выполнении программы. Это достигается посредством обратного проектирования скомпилированного программного кода с использованием отладчика, такого как SoftICE, OllyDbg, GDB или MacsBug, пока злоумышленник не достигнет подпрограммы , которая содержит основной метод защиты программного обеспечения (или путем дизассемблирования исполняемого файла с помощью такой программы, как МАР ). Затем двоичный файл модифицируется с помощью отладчика или монитора или монитора таким образом, чтобы заменить предыдущий код операции ветвления его дополнением или NOP код операции, поэтому ветвь ключа всегда будет выполнять определенную подпрограмму или пропускать ее. Почти все распространенные программные взломы являются разновидностями этого типа. Разработчики проприетарного программного обеспечения постоянно разрабатывают такие методы, как обфускация кода, шифрование и самомодифицирующийся код, чтобы сделать эту модификацию все более сложной. Даже несмотря на эти меры, разработчикам трудно бороться со взломом программного обеспечения. Это связано с тем, что профессионалы очень часто публично выпускают простой взломанный EXE или Retrium Installer для общедоступной загрузки, избавляя неопытных пользователей от необходимости взламывать программное обеспечение самостоятельно.

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

Другой метод - использование специального программного обеспечения, такого как CloneCD, для сканирования с целью использования коммерческого приложения защиты от копирования. После обнаружения программного обеспечения, используемого для защиты приложения, можно использовать другой инструмент для снятия защиты от копирования с программного обеспечения на CD или DVD. Это может позволить другой программе, такой как Alcohol 120%, CloneDVD, Game Jackal или Daemon Tools, скопировать защищенное программное обеспечение на жесткий диск пользователя. Популярные коммерческие приложения для защиты от копирования, которые можно сканировать, включают SafeDisc и StarForce.

В других случаях можно декомпилировать программу, чтобы получить доступ к исходному исходному коду или коду на уровне выше, чем машинный код. Это часто возможно с языками сценариев и языками, использующими компиляцию JIT. Примером может служить взлом (или отладка) на платформе.NET, где можно рассмотреть возможность манипулирования CIL для достижения своих нужд. Java байт-код также работает аналогичным образом, в котором есть промежуточный язык перед компиляцией программы для работы на зависимом от платформы машинном коде.

Расширенный обратный инжиниринг для такие средства защиты, как SecuROM, SafeDisc, StarForce или Denuvo, требуют, чтобы взломщик или многие взломщики потратили много времени на изучение защиты, в конечном итоге обнаружив все недостатки в код защиты, а затем кодирование собственных инструментов для автоматического «разворачивания» защиты из исполняемых (.EXE) и библиотечных (.DLL) файлов.

В Интернете есть ряд сайтов, которые позволяют пользователям загружать кряки, созданные warez groups для популярных игр и приложений (хотя и с опасностью приобретения вредоносного программного обеспечения, которое иногда распространяется через такие места). Хотя эти взломы используются законными покупателями программного обеспечения, они также могут быть использованы людьми, которые загрузили или иным образом получили неавторизованные копии (часто через сети P2P ).

Пробный сброс

Многие коммерческие программы, которые можно загрузить из Интернета, имеют пробный период (часто 30 дней) и должны быть зарегистрированы (т. Е. Приобретены) по истечении его срока, если пользователь хочет продолжать их использовать. Чтобы сбросить пробный период, записи в реестре и / или скрытые файлы, содержащие информацию о пробном периоде, изменяются и / или удаляются. С этой целью взломщики разрабатывают «триальные средства перезагрузки» для конкретной программы, а иногда и для группы программ одного производителя.. Методом сделать пробный сброс менее привлекательным является ограничение программного обеспечения в течение пробного периода (например, некоторые функции доступны только в зарегистрированной версии; изображения / видео / бумажные копии, созданные с помощью программы, получают водяной знак; программа запускается всего на 10–20 минут, а затем закрывается автоматически). У некоторых программ есть неограниченный пробный период, но он ограничен до момента их регистрации.

См. Также
Ссылки
Последняя правка сделана 2021-06-08 08:26:59
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте