stringtranslate.com

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

Взлом программного обеспечения (известный как «взлом» в основном в 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]

+HCU

Университет 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]

Смотрите также

Рекомендации

  1. ^ Кевелсон, Мортон (октябрь 1985 г.). «Исепик». Эй! . стр. 71–73 . Проверено 27 июня 2014 г. Происхождение термина, вероятно, кроется в деятельности грабителей в ночной тишине.
  2. ^ abcd «Что движет взломщиками программного обеспечения?» (PDF) . Сиги Гуд и Сэм Круз, Австралийский национальный университет, Журнал деловой этики (2006). Архивировано (PDF) оригинала 21 октября 2022 г. Проверено 30 апреля 2022 г.
  3. ^ Таллох, Митч (2003). Энциклопедия безопасности Microsoft (PDF) . Редмонд, Вашингтон: Microsoft Press. п. 68. ИСБН 0735618771. Архивировано из оригинала (PDF) 10 августа 2014 года . Проверено 20 июля 2014 г.
  4. ^ аб Каммерштеттер, Маркус; Платцер, Кристиан; Вондрачек, Гилберт (16 октября 2012 г.). «Суета, кряки и вредоносное ПО». Материалы конференции ACM 2012 года по компьютерной и коммуникационной безопасности . Роли, Северная Каролина, США: ACM. стр. 809–820. дои : 10.1145/2382196.2382282. ISBN 978-1-4503-1651-4. S2CID  3423843.
  5. ^ Крейг, Пол; Рон, Марк (апрель 2005 г.). «Глава 4: Крекеры». В Бернетте, Марк (ред.). Разоблачение программного пиратства: раскрыты тайны темной стороны . Издатель: Эндрю Уильямс, Макет страницы и оформление: Патрисия Люпиен, Редактор отдела продаж: Хайме Куигли, Редактор копий: Джуди Эби, Технический редактор: Марк Бернетт, Индексатор: Нара Вуд, Дизайнер обложек: Майкл Кавиш. Соединенные Штаты Америки: Издательство Syngress Publishing. стр. 75–76. дои : 10.1016/B978-193226698-6/50029-5. ISBN 1-932266-98-4.
  6. ^ ab FLT (22 января 2013 г.). "The_Sims_3_70s_80s_and_90s_Stuff-FLT". Архивировано из оригинала 14 сентября 2014 года . Проверено 13 сентября 2014 г. Это может быть единственной причиной, по которой вы пришли к выводу, что измененный процесс запуска аналогичен имитируемому поведению защиты, как это делает EMU.
  7. ^ Шуб-Нигуррат [ARTeam]; ThunderPwr [ARTeam] (январь 2006 г.). «Взлом с помощью загрузчиков: теория, общий подход и основа». Журнал CodeBreakers . Исследовательский проект Universitas-Virtualis. 1 (1). Загрузчик — это программа, способная загружать в память и запускать другую программу.
  8. ^ Нигуррат, Шуб (май 2006 г.). «Руководство по игре с памятью процессов, написанию загрузчиков и Oracleumns». Журнал CodeBreakers . Исследовательский проект Universitas-Virtualis. 1 (2).
  9. ^ FLT (29 сентября 2013 г.). "Test_Drive_Ferrari_Legends_PROPER-FLT". Архивировано из оригинала 14 сентября 2014 года . Проверено 13 сентября 2014 г. Test.Drive.Ferrari.Racing.Legends-SKIDROW был выпущен с «Загрузчиком», а не с взломанным exe-файлом. Вот почему исходный exe-файл переименован в «TDFerrari_o.exe». Поскольку это запрещено и в этом случае значительно замедляет игру из-за сообщений Xlive при запуске и игре, вы можете понять, почему мы включили правильный взломанный код.
  10. СКИДРОУ (21 января 2013 г.). «Тест.Драйв.Феррари.Гонки.Легенды.Читать.Nfo-SKIDROW». Архивировано из оригинала 14 сентября 2014 года . Проверено 13 сентября 2014 г. Да, наш «метод» — это загрузчик, и наши конкуренты использовали тот же метод для «взлома» подобных игр xlive.
  11. ^ "Бэтмен.Arkham.City-FiGHTCLUB ядерная война" . 2 декабря 2011. Архивировано из оригинала 13 сентября 2014. UNNUKED: game.plays.full, нет.проблем, трещина.is.fine, нет.single.byte.patch.used Protection.bypass.means.not.active.means .удаленная.защита.не.пинает.в.любой.точке этого.или.удаление.не имеет.никакой.разницы [ZoNeNET]
  12. ^ аб Эйлам, Эльдад (2005). Реверс: секреты реверс-инжиниринга. Эллиот Дж. Чикофски. Индианаполис, Индиана: Уайли. ISBN 0-7645-9768-Х. ОСЛК  80242141.
  13. Ченг, Жаки (27 сентября 2006 г.). «Microsoft подает иск по поводу взлома DRM» . Арс Техника . Архивировано из оригинала 15 июля 2014 года . Проверено 15 июня 2017 г.
  14. ^ Фравия (ноябрь 1998 г.). «Законен ли реверс-инжиниринг?». Архивировано из оригинала 5 марта 2022 года.
  15. ^ Уоллах, DS (октябрь 2001 г.). «Технология защиты от копирования обречена». Компьютер . 34 (10): 48–49. дои : 10.1109/2.955098. Архивировано из оригинала 21 января 2022 года . Проверено 10 марта 2023 г.
  16. ^ Реунанен, Маркку; Васиак, Патрик; Ботц, Дэниел (26 марта 2015 г.). «Crack Intros: пиратство, творчество и общение». Международный журнал коммуникации . 9 : 20. ISSN  1932-8036. Архивировано из оригинала 17 июня 2022 года . Проверено 17 июня 2022 г.
  17. Пирсон, Джордан (24 июля 2017 г.). «Программисты спешат спасти программное обеспечение Apple II, прежде чем оно исчезнет». Материнская плата. Архивировано из оригинала 27 сентября 2017 года . Проверено 27 января 2018 г.
  18. ^ abcde Сайрус Пейкари; Антон Чувакин (12 января 2004 г.). Воин безопасности . «О'Рейли Медиа, Инк.». п. 31. ISBN 978-0-596-55239-8.
  19. ^ Вианелло, Франческо. «Главная страница Академии». Страницы реверс-инжиниринга архива Fravia . Архивировано из оригинала 26 сентября 2022 года . Проверено 17 мая 2022 г.
  20. ^ Анкит, Джайн; Джейсон, Куо; Джордан, Соет; Брайан, Це (апрель 2007 г.). «Взлом программного обеспечения (апрель 2007 г.)» (PDF) . Университет Британской Колумбии – электротехника и вычислительная техника. Архивировано (PDF) из оригинала 19 марта 2018 г. Проверено 27 января 2018 г. {{cite journal}}: Требуется цитировать журнал |journal=( помощь )
  21. ^ Червен, Павол (2002). Взломоустойчивое программное обеспечение: защитите свое программное обеспечение от взломщиков . Нет крахмального пресса. ISBN 1-886411-79-4.
  22. ^ «Защита программных кодов охранниками» (PDF) . Хой Чанг, Михаил Дж. Аталлах, CERIAS, Университет Пердью (2001). Архивировано (PDF) из оригинала 10 марта 2023 г. Проверено 6 июня 2022 г.
  23. ^ «Реверс самоизменяющегося двоичного файла с помощью радара2» . Мегабетс . 14 января 2018 года . Проверено 29 июня 2023 г.
  24. ^ Фергюсон, Джастин; Каминский, Дэн (2008). Реверс-инжиниринг кода с помощью IDA Pro. Берлингтон, Массачусетс: Паб Syngress. ISBN 978-0-08-055879-0. OCLC  272383172. Архивировано из оригинала 10 марта 2023 года . Проверено 8 июня 2022 г.
  25. ^ «Компакт-диски/DVD-диски с играми, защищенные резервным копированием» . GameCopyWorld . Архивировано из оригинала 5 июня 2008 года . Проверено 11 июня 2008 г.
  26. ^ Канзанезе, Раймонд младший; Ойер, Мэтью; Манкоридис, Спирос; Кам, Моше. «Обзор инструментов обратного проектирования для 32-битной среды Microsoft Windows» (PDF) . Инженерный колледж Университета Дрекселя. Архивировано из оригинала (PDF) 25 марта 2022 года . Проверено 7 июня 2022 г.
  27. МакКэндлесс, Дэвид (1 апреля 1997 г.). «Варезские войны». Проводной . ISSN  1059-1028. Архивировано из оригинала 16 сентября 2021 года . Проверено 4 февраля 2020 г.
  28. ^ Гопал, Рам Д.; Сандерс, Дж. Лоуренс (сентябрь 2000 г.). «Глобальное программное пиратство: из репы кровь не выжмешь». Коммуникации АКМ . 43 (9): 82–89. дои : 10.1145/348941.349002 . ISSN  0001-0782. S2CID  6706490.
  29. ^ Гопал, Рам Д.; Сандерс, Дж. Лоуренс (1998). «Международное пиратство в области программного обеспечения: анализ ключевых проблем и последствий». Исследования информационных систем . 9 (4): 380–397. дои : 10.1287/isre.9.4.380. ISSN  1047-7047. JSTOR  23011033.