Взлом программного обеспечения (известный как «взлом» в основном в 1980-х годах [1] ) — это снятие защиты от копирования с программного обеспечения. [2] Защиту от копирования можно снять, применив специальный кряк . Под взломом может подразумеваться любой инструмент, позволяющий взломать защиту программного обеспечения, украденный ключ продукта или угаданный пароль. Взлом программного обеспечения обычно предполагает обход лицензий и ограничений на использование коммерческого программного обеспечения незаконными методами. Эти методы могут включать непосредственное изменение кода путем дизассемблирования и побитового редактирования, обмен украденными ключами продукта или разработку программного обеспечения для генерации ключей активации. [3] Примерами взлома являются: применение патча или создание генераторов серийных номеров с обратной разработкой, известных как генераторы ключей , что позволяет обойти регистрацию программного обеспечения и оплату или преобразовать пробную/демо-версию программного обеспечения в полнофункциональное программное обеспечение без оплаты за него. . [4] Взлом программного обеспечения способствует росту онлайн-пиратства , когда пиратское программное обеспечение распространяется среди конечных пользователей [2] через сайты обмена файлами, такие как BitTorrent , хостинг в один клик (OCH), или через загрузки Usenet или путем загрузки пакетов оригинального программного обеспечения. с кряками или кейгенами. [4]
Некоторые из этих инструментов называются кейгеном , патчем , загрузчиком или взломом без диска . Генератор ключей — это генератор серийных номеров продуктов ручной работы, который часто предлагает возможность генерировать рабочие серийные номера на ваше имя. Патч — это небольшая компьютерная программа, которая изменяет машинный код другой программы. Преимущество этого метода заключается в том, что взломщик не включает в выпуск большой исполняемый файл, если изменено всего несколько байтов. [5] Загрузчик изменяет процесс запуска программы и не снимает защиту, а обходит ее. [6] [7] Известный пример загрузчика — трейнер , используемый для читерства в играх. [8] В одном из своих файлов .nfo компания Fairlight указала , что взломы такого типа не допускаются в выпусках игр с варез-сценами . [9] [6] [10] Ядерная война показала, что защита может не сработать в любой момент, чтобы это был действительный взлом. [11]
Взлом программного обеспечения тесно связан с обратным проектированием , поскольку процесс атаки на технологию защиты от копирования аналогичен процессу обратного проектирования. [12] Распространение взломанных копий является незаконным в большинстве стран. Были судебные иски по поводу взлома программного обеспечения. [13] В определенных обстоятельствах использование взломанного программного обеспечения может быть законным. [14] Тем не менее, образовательные ресурсы по реверс-инжинирингу и взлому программного обеспечения легальны и доступны в виде программ Crackme .
Программное обеспечение по своей сути дорого производить, но его дешево тиражировать и распространять. Поэтому производители программного обеспечения обычно пытались реализовать некоторую форму защиты от копирования , прежде чем выпускать его на рынок. В 1984 году Лэйнд Хантсман, руководитель отдела разработки программного обеспечения компании Formaster, занимающейся защитой программного обеспечения, заметил, что «ни одна система защиты не оставалась не взломанной предприимчивыми программистами более нескольких месяцев». [2] В 2001 году Дэн С. Уоллах, профессор Университета Райса , утверждал, что «те, кто решил обойти защиту от копирования, всегда находили способы сделать это – и всегда будут». [15]
Большинство первых взломщиков программного обеспечения были компьютерными любителями, которые часто формировали группы, конкурирующие друг с другом во взломе и распространении программного обеспечения. Как можно быстрее взлом новой схемы защиты от копирования часто рассматривался как возможность продемонстрировать свое техническое превосходство, а не как возможность заработать деньги. Взломщики программного обеспечения обычно не получали материальной выгоды от своих действий, и их мотивацией была сама задача по снятию защиты. [2] Некоторые низкоквалифицированные любители берут уже взломанное программное обеспечение и редактируют в нем различные незашифрованные строки текста, чтобы изменить сообщения, которые игра сообщает игроку, что часто считается вульгарным. Загрузка измененных копий в файлообменные сети стала источником смеха для взрослых пользователей. Группы взломщиков 1980-х годов начали рекламировать себя и свои навыки, прикрепляя анимированные экраны, известные как заставки к взломанным программам, которые они взломали и выпустили. [16] Как только техническая конкуренция расширилась от задач взлома к задачам создания визуально ошеломляющих вступлений, были заложены основы новой субкультуры, известной как демосцена . Демосцена начала отделяться от нелегальной «варез-сцены» в 1990-х годах и теперь считается совершенно другой субкультурой. Многие взломщики программного обеспечения впоследствии превратились в чрезвычайно способных специалистов по обратному проектированию программного обеспечения; глубокие знания сборки, необходимые для взлома средств защиты, позволяют им перепроектировать драйверы , чтобы портировать их из двоичных драйверов для Windows в драйверы с исходным кодом для Linux и других свободных операционных систем. Кроме того, поскольку музыка и вступление к игре были неотъемлемой частью игр, музыкальный формат и графика стали очень популярными, когда оборудование стало доступным для домашнего пользователя.
С появлением Интернета взломщики программного обеспечения создали секретные онлайн-организации. Во второй половине девяностых годов одним из наиболее уважаемых источников информации об «обратной защите программного обеспечения» был веб-сайт Fravia .
В 2017 году группа взломщиков программного обеспечения начала проект по сохранению программного обеспечения Apple II путем удаления встроенной защиты Apple II от копирования . [17]
Университет High Cracking (+HCU) был основан Старым Красным Крекером (+ORC), считающимся гением обратного проектирования и легендарной фигурой в области обратного проектирования кода (RCE), для продвижения исследований в области RCE. Он также преподавал и был автором многих статей по этому предмету, а его тексты считаются классикой в этой области и являются обязательными для чтения студентами RCE. [18]
Добавление знака «+» перед ником реверсера означало членство в +HCU. Среди студентов +HCU были лучшие специалисты по реверсированию Windows во всем мире. [18] +HCU ежегодно публикует новую задачу обратного проектирования, и небольшое количество респондентов с лучшими ответами получают право на должность бакалавра в университете. [18]
+Фравия была профессором +HCU. Веб-сайт Фравии был известен как «+ Страницы обратного проектирования Фравии», и он использовал его, чтобы бросить вызов программистам, а также всему обществу в «обратном проектировании» «промывания мозгов коррумпированного и безудержного материализма». В период своего расцвета его веб-сайт посещали миллионы посетителей в год, и его влияние было «широко распространенным». [18] На своем сайте +Fravia также хранил базу данных учебных пособий, созданных студентами +HCU для потомков. [19]
В настоящее время большинство выпускников +HCU перешли на Linux, и лишь немногие остались реверсировщиками Windows. Информация в университете была заново открыта новым поколением исследователей и практиков RCE, которые начали новые исследовательские проекты в этой области. [18]
Наиболее распространенный взлом программного обеспечения — это модификация двоичного файла приложения, чтобы вызвать или предотвратить определенную ключевую ветвь при выполнении программы. Это достигается путем обратного проектирования скомпилированного кода программы с использованием отладчика , такого как SoftICE , [20] OllyDbg , GDB или MacsBug , пока взломщик программного обеспечения не достигнет подпрограммы , содержащей основной метод защиты программного обеспечения (или путем дизассемблирования исполняемого файла с помощью такая программа, как IDA ). [21] Затем двоичный файл модифицируется с помощью отладчика или шестнадцатеричного редактора , такого как HIEW [22] или монитора таким образом, что предыдущий код операции ветвления заменяется его дополнением или кодом операции NOP , поэтому ключевая ветвь либо всегда будет выполнять определенную подпрограмму . или пропустить это. Почти все распространенные программы взлома являются разновидностью этого типа. Область кода, которую нельзя вводить, часто называют «плохим мальчиком», а ту, которую следует соблюдать, — «хорошим мальчиком». [23]
Разработчики проприетарного программного обеспечения постоянно разрабатывают такие методы, как обфускация кода , шифрование и самомодифицирующийся код, чтобы все более затруднить модификацию двоичного кода. [24] Даже несмотря на принятие этих мер, разработчикам сложно бороться со взломом программного обеспечения. Это связано с тем, что профессионалы очень часто публикуют простой взломанный EXE-файл или установщик Retrium для публичной загрузки, что устраняет необходимость самостоятельного взлома программного обеспечения неопытными пользователями.
Конкретным примером этого метода является взлом, который удаляет срок действия ограниченной по времени пробной версии приложения. Эти взломщики обычно представляют собой программы, которые изменяют исполняемый файл программы, а иногда и файлы .dll или .so, связанные с приложением, и процесс изменения исходных двоичных файлов называется исправлением. [12] Аналогичные взломы доступны для программного обеспечения, требующего аппаратного ключа . Компания также может нарушить защиту от копирования программ, которые она приобрела на законных основаниях, но которые лицензированы для определенного оборудования, чтобы не было риска простоя из-за сбоя оборудования (и, конечно, не нужно ограничивать себя запуском программного обеспечения). только на купленном оборудовании).
Другой метод — использование специального программного обеспечения, такого как CloneCD, для сканирования на предмет использования коммерческого приложения для защиты от копирования. После обнаружения программного обеспечения, используемого для защиты приложения, можно использовать другой инструмент для снятия защиты от копирования с программного обеспечения на компакт- диске или DVD-диске . Это может позволить другой программе, такой как Alcohol 120% , CloneDVD , Game Jackal или Daemon Tools, скопировать защищенное программное обеспечение на жесткий диск пользователя. Популярные коммерческие приложения для защиты от копирования, которые можно сканировать, включают SafeDisc и StarForce . [25]
В других случаях можно декомпилировать программу , чтобы получить доступ к исходному исходному коду или коду на уровне выше , чем машинный код . Это часто возможно с языками сценариев и языками, использующими JIT- компиляцию. Примером является взлом (или отладка) платформы .NET, где можно рассмотреть возможность использования CIL для достижения своих нужд. Байт-код Java также работает аналогичным образом: перед компиляцией программы для работы на машинном коде , зависящем от платформы, существует промежуточный язык . [26]
Расширенный обратный инжиниринг для таких средств защиты, как SecuROM , SafeDisc , StarForce или Denuvo , требует, чтобы взломщик или многие взломщики тратили гораздо больше времени на изучение защиты, в конечном итоге находя все недостатки в защитном коде, а затем программируя свои собственные инструменты для «развертывания» автоматическая защита от исполняемых (.EXE) и библиотечных (.DLL) файлов.
В Интернете существует ряд сайтов, которые позволяют пользователям загружать кряки, созданные варез-группами для популярных игр и приложений (хотя и с риском приобретения вредоносного программного обеспечения, которое иногда распространяется через такие сайты). [27] Хотя эти программы используются законными покупателями программного обеспечения, их также могут использовать люди, которые загрузили или иным образом получили несанкционированные копии (часто через P2P- сети).
Взлом программного обеспечения привел к распространению пиратского программного обеспечения по всему миру (пиратство программного обеспечения). По оценкам, в 1996 году Соединенные Штаты потеряли 2,3 миллиарда долларов США на программном обеспечении для бизнес-приложений. Уровень пиратства в области программного обеспечения был особенно распространен в странах Африки, Азии, Восточной Европы и Латинской Америки. В некоторых странах, таких как Индонезия, Пакистан, Кувейт, Китай и Сальвадор, [28] 90% используемого программного обеспечения было пиратским. [29]
Происхождение термина, вероятно, кроется в деятельности грабителей в ночной тишине.
Это может быть единственной причиной, по которой вы пришли к выводу, что измененный процесс запуска аналогичен имитируемому поведению защиты, как это делает EMU.
Загрузчик — это программа, способная загружать в память и запускать другую программу.
Test.Drive.Ferrari.Racing.Legends-SKIDROW был выпущен с «Загрузчиком», а не с взломанным exe-файлом. Вот почему исходный exe-файл переименован в «TDFerrari_o.exe». Поскольку это запрещено и в этом случае значительно замедляет игру из-за сообщений Xlive при запуске и игре, вы можете понять, почему мы включили правильный взломанный код.
Да, наш «метод» — это загрузчик, и наши конкуренты использовали тот же метод для «взлома» подобных игр xlive.
UNNUKED: game.plays.full, нет.проблем, трещина.is.fine, нет.single.byte.patch.used Protection.bypass.means.not.active.means .удаленная.защита.не.пинает.в.любой.точке этого.или.удаление.не имеет.никакой.разницы [ZoNeNET]
{{cite journal}}
: Требуется цитировать журнал |journal=
( помощь )