Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Трещина относится к средствам достижения, например украденной серийный номер или инструмент , который выполняет , что акт взлома. [2] Некоторые из этих инструментов называются генератором ключей , патчем или загрузчиком . Keygen - это созданный вручную генератор серийных номеров продуктов, который часто предлагает возможность генерировать рабочие серийные номера от вашего собственного имени. Патч - это небольшая компьютерная программа, которая изменяет машинный код другой программы. Преимущество взломщика заключается в том, что он не включает большой исполняемый файл в выпуск, когда изменяются только несколько байтов. [3] Загрузчик изменяет последовательность запуска программы и не снимает защиту, а обходит ее. [4] [5]Хорошо известный пример загрузчика - трейнер, используемый для читерства в играх. [6] Fairlight указал в одном из своих файлов .nfo, что подобные взломы недопустимы для выпусков игр для сцены с варезом. [7] [4] [8] nukewar показал , что защита не может умереть в любой момент для того , чтобы быть действительной трещиной. [9]

Распространение взломанных копий незаконно в большинстве стран. Были судебные иски из-за взлома программного обеспечения. [10] При определенных обстоятельствах использование взломанного программного обеспечения может быть законным. [11] Образовательные ресурсы по обратному проектированию и взлому программного обеспечения, однако, легальны и доступны в форме программ Crackme .

История [ править ]

Первая защита от копирования была применена к программному обеспечению компьютеров Apple II , [12] 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 для защиты программного обеспечения использовалось несколько методов. Для программного обеспечения, распространяемого на картриджах ПЗУ , были включены подпрограммы, которые пытались перезаписать программный код. Если бы программное обеспечение было в ПЗУ, ничего бы не произошло, но если бы программное обеспечение было перемещено в ОЗУ , оно было бы отключено. Из-за работы дисководов для гибких дисков Commodore одна схема защиты от записи может привести к ударам головки дисковода о конец направляющей, что может привести к смещению головки дисковода. В некоторых случаях были желательны взломанные версии программного обеспечения, чтобы избежать этого. Смещение приводной головки было редкостью, обычно она устранялась ударами о направляющие упора. Еще одна жесткая схема защиты заключалась в перетряхивании с 1 по 40 и обратно несколько раз.

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

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

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

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

+ HCU [ править ]

Высокий университет Крекинг (+ HCU), был основан Old Red Cracker (+ ORC), который считается гением реинжиниринга и легендарной фигурой в RCE, чтобы заранее исследования в обратный код Engineering (RCE). Он также преподавал и написал множество работ по этому предмету, и его тексты считаются классикой в ​​этой области и являются обязательным чтением для студентов RCE. [13]

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

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

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

Методы [ править ]

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

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

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

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

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

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

Сброс пробной версии [ править ]

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

См. Также [ править ]

  • Разобрать механизм с целью понять, как это работает
  • Warez
  • Warez группы
  • Список групп варез

Ссылки [ править ]

  1. ^ Kevelson, Мортон (октябрь 1985). «Изепик» . Эй! . С. 71–73 . Проверено 27 июня 2014 года . Происхождение этого термина, вероятно, кроется в активности грабителей в тишине ночи.
  2. ^ Таллох, Митч (2003). Энциклопедия безопасности Microsoft (PDF) . Редмонд, Вашингтон: Microsoft Press. п. 68. ISBN  0735618771.
  3. ^ Крейг, Пол; Рон, Марк (апрель 2005 г.). «Глава 4: Крекеры» . В Burnett, Марк (ред.). Разоблачено компьютерное пиратство - раскрыты секреты темной стороны . Издатель: Эндрю Уильямс, Верстка и оформление страницы: Патриция Лупиен, Редактор по приобретениям: Хайме Куигли, Редактор копии: Джуди Эби, Технический редактор: Марк Бернетт, Индексатор: Нара Вуд, Дизайнер обложки: Майкл Кавиш. Соединенные Штаты Америки: Syngress Publishing. С.  75–76 . DOI : 10.1016 / B978-193226698-6 / 50029-5 . ISBN 1-932266-98-4.
  4. ^ a b FLT (22 января 2013 г.). "The_Sims_3_70s_80s_and_90s_Stuff-FLT" . Это может быть единственной причиной, по которой вы пришли к выводу, что модифицированный поток запуска аналогичен имитируемому поведению защиты, как это делает EMU.
  5. ^ Шуб-Нигуррат [ARTeam]; ThunderPwr [ARTeam] (январь 2006 г.). «Взлом с помощью загрузчиков: теория, общий подход и основы». Журнал CodeBreakers . Исследовательский проект Universitas-Virtualis. 1 (1). Загрузчик - это программа, которая может загружаться в память и запускать другую программу.
  6. ^ Nigurrath, Шубы (май 2006). «Руководство по игре с памятью процессов, написанием загрузчиков и Oraculumns». Журнал CodeBreakers . Исследовательский проект Universitas-Virtualis. 1 (2).
  7. ^ FLT (29 сентября 2013). "Test_Drive_Ferrari_Legends_PROPER-FLT" . Test.Drive.Ferrari.Racing.Legends-SKIDROW был выпущен с загрузчиком, а не с взломанным exe. Вот почему вы видите, что исходный exe-файл переименован в «TDFerrari_o.exe». Поскольку это недопустимо и в этом случае значительно замедляет игру с сообщениями Xlive при запуске и игре, вы можете понять, почему мы включили надлежащий файл cracked.
  8. ^ SKIDROW (21 января 2013). "Test.Drive.Ferrari.Racing.Legends.Read.Nfo-SKIDROW" . Да, наш «метод» - это загрузчик, и наши конкуренты использовали тот же метод для «взлома» подобных xlive-игр.
  9. ^ "Batman.Arkham.City-FightClub nukewar" . 2 декабря 2011 г. Архивировано 13 сентября 2014 г. UNNUKED: game.plays.full no.issues crack.is.fine no.single.byte.patch. used protection.bypass.means.not.active.means .removed protection.does.not.kick.in.at.any.point this.or.removal.makes.no.difference [ZoNeNET]
  10. Cheng, Jacqui (27 сентября 2006 г.). «Microsoft подает иск из-за взлома DRM» . Ars Technica .
  11. ^ Фравия (ноябрь 1998). "Является ли обратный инжиниринг законным?" .
  12. Пирсон, Иордания (24 июля 2017 г.). «Программисты спешат спасти программное обеспечение Apple II, пока оно не исчезло» . Системная плата. Архивировано из оригинального 27 сентября 2017 года . Проверено 27 января 2018 года .
  13. ^ a b c d e Сайрус Пейкари; Антон Чувакин (12 января 2004 г.). Воин безопасности . "O'Reilly Media, Inc.". п. 31 . ISBN 978-0-596-55239-8.
  14. ^ Анкит, джайн; Джейсон, Куо; Иордания, Соет; Брайан, Це (апрель 2007 г.). «Взлом программного обеспечения (апрель 2007 г.)» (PDF) . Университет Британской Колумбии - электротехника и вычислительная техника . Проверено 27 января 2018 года . Цитировать журнал требует |journal=( помощь )
  15. ^ Wójcik, Бартош. «Обзор инструментов обратного инжиниринга» . pelock.com . PELock. Архивировано из оригинального 13 сентября 2017 года . Проверено 16 февраля 2018 года .
  16. ^ Gamecopyworld Howto
  17. МакКэндлесс, Дэвид (1 апреля 1997 г.). «Warez Wars» . Проводной . ISSN 1059-1028 . Проверено 4 февраля 2020 года .