Программы кряк что это

Взлом программ (крэкинг).

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

Данная статья не научит Вас писать патчи для взлома программ! Статья посвящена теории крэкинга и видам взлома, которыми руководствуются при взломе программ.

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

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

Крэк (также искажённое кряк и, крайне редко, крак) (англ. crack) — программа, позволяющая осуществить взлом программного обеспечения. Как правило, крэк пригоден для массового использования. По сути, крэк является воплощением одного из видов взлома, зачастую, это обычный патч. Для слова крэк используются следующие эвфемизмы: «лекарство», «таблэтка», «аспирин» и т.п.

Значение слова кряк. Что такое кряк.

Крэкер (также искажённое крякер) (англ. cracker) — человек, который занимается созданием крэков.

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

Виды взлома

Приведем примеры самых распространенных видов взлома, но этот список может пополняться и другими способами.

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

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

3. Применение (бинарного) патча — способ, похожий на «загрузчик», но модификация производится статически в файлах программы. Как правило, это один из самых простых и быстрых способов взлома ПО.

4. Использование взломанной версии файла(ов) — способ заключается в подмене оригинальных файлов программы файлами, которые уже взломаны.

5. Использование эмулятора ключа — способ используется для обмана защит, построенных на использовании в качестве защиты электронного ключа (как правило, подключаемого к LPT или USB порту компьютера). Заключается в снятии дампа внутренней памяти ключа. Файл с содержимым этой памяти подаётся на вход специальной программе — эмулятору, которая подключает свой драйвер-фильтр в стек драйверов и обманывает защищённую программу, эмулируя работу с аппаратным ключом.

Как запустить кряк (crack)

6. Подмена официального сайта программ и/или соответствующее изменение настроек с целью обойти проверку ключа, если она была вынесена разработчиками на какой-либо интернет-ресурс. Чаще всего осуществляется на примитивном уровне путём модифицирования файла hosts и запуска различных эмуляторов, иногда — использование различных программ или использование реально существующего веб-ресурса.

7. Запрет доступа программы к интернету – заключается в комплексе действий, направленных на осуществление принудительного запрета доступа программы к интернету. Выполняется в тех случаях, когда программа требует активации лицензионного ключа через интернет (как правило, официальный сайт разработчика), либо в случаях, когда программа связывается с сервером разработчика для обмена данными или обновления.

Как правило, устанавливается специальная утилита, которая блокирует доступ программы в сеть интернет, более примитивный способ-физическое отключение от Интернета. Это действие, обычно, производится после введения ключа, сгенерированного кейгеном.

Заключение

Крэкеры делятся на три группы: на тех, для кого крэкинг — хобби, на тех, кто занимается этим в качестве самообразования, и на тех, кто зарабатывает на взломе защиты программ. Поскольку в России пиратство распространено широко, во многих случаях крэкинг обеспечивает неплохой доход.

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

Источник: it-black.ru

Что такое crack,серийный номер,keygen.

Термин «crack» означает действие снятия защиты от копирования коммерческих программных продуктов.Crack -это программа,набор инструкций или патчей,используемых для снятия защиты от копирования программного обеспечения,или,чтобы разблокировать функции с демо или ограниченной по времени версии продукта.

Crack,как правило,небольшие программы или файлы,созданные инжиниринг группами («крекинг-групп») или независимых инженеров («взломщиков»).В большинстве случаев,crack,созданы удалить, изменить или отключить определенные ограничения специального программного обеспечения.Эти ограничения («защита программного обеспечения»), как правило,помещают производители в программное обеспечение,чтобы предотвратить использование их программного обеспечения, без получения платной лицензии.Ниже я написал наиболее типичные способы защиты программного обеспечения от «несанкционированного» применения:
Ограничение по времени — (shareware) — программа работает определенный период времени,а затем прекращает работу.Чтобы продолжить использование программы,пользователь должен заплатить производителю программного обеспечения («купить » или «зарегистрировать» программу»)
Ограничение демо — (shareware) — программа работает с включенными некоторыми её особенностями,как правило,наиболее важные и привлекательные функции отключены в демо версии.Пользователь должен купить программу,чтобы получить «Полную версия», которая имеет все включенные функции.
Лимит использования — (shareware) — программа работает с включенными с её основными чертами,но может быть как ограниченной, чтобы было определенное количество запусков,или общее время работы, или ряд определенных действий,например,сохранение работы.
Защита от копирования — (розничное программное обеспечение) — как правило,такого рода ограничения находятся на полной коробочной версии программного обеспечения,которые приходят на цифровых носителях,таких как CD,DVD и т.д. Эта защита только предохраняет пользователей от копирования и установки программного обеспечения на несколько машин без покупки лицензии.
Защита диска — (игры) — эта защита обычно используется в играх,вы должны вставить оригинальный CD или DVD в привод,чтобы Вы могли играть в игру.
Ключ защиты — (разные) — используется специальное шифрование устройства,называемого ключ,который разрешает использовать программу после того,как он подключен к вашему компьютеру (например, в USB-порт).
Есть много других видов защиты программного обеспечения, от очень простых до очень сложных.Удаление,отключение или обход защиты — это очень сложная и интересная задача для декомпилирования (cracker). Удалением защиты (которое может быть чрезвычайно трудно удалить), занимается крекер программист (или целая команда программистов) ответственных за создание алгоритма защиты.После того,как программу взломали взломщики,как правило,crack который они создали распространяют,для демонстрации своих возможностей (и слабых сторон их коллег)по всему миру.
Строго говоря,crack — это специальные программы,которые снимают защиту с программного обеспечения,но,принято считать,что всё,что делает возможным для снятия защиты называется «крэк»,хотя это не имеет ничего общего с обратной инженерией.
Существует несколько основных типов crack :
Серийный код . Это-самый простой тип crack. Очень часто это не имеет ничего общего с crack или крекерством.Специальный текстовый код, указанный производителем программного обеспечения для тех, кто покупает лицензию на программное обеспечение для удаления demo ограничений,как правило,просто вставки кода в соответствующей регистрации, в поле программы.
Крекеры получают эти коды с помощью reverse engineering,это от понимания того,как идёт алгоритм регистрации и генерация серийного кода,который будет регистрацией программного обеспечения.Взломщики часто получают серийные номера их «кражей» у владельцев лицензии,с помощью поддельных или краденых кредитных карт и т.д.,а затем распространяют серийные номера через Интернет. Естественно,это не имеет никакого отношения к растрескиванию crack.Это,как правило,очень легко для производителей программного обеспечения для противодействия распространения серийных номеров.Как правило,все они должны сделать «черный» список украденных серийных номеров и учитывают их в следующей версии своего программного обеспечения и в их он-лайн базах данных (если программное обеспечение регистрируется в сети). Неудивительно,что очень многие старые серийные номера для программ не работают больше, особенно на новых версий!
Регистрационные файлы (regfiles или ключевые файлы). По сути, этот тип crack работает таким же образом,как Последовательный метод, за исключением того,что пользователь получает особый файл (генерируемые алгоритмы известны только для производителя программного обеспечения),вместо простого текстового кода,чтобы зарегистрировать программу. Regfiles обычно идёт как особое (и зачастую в зашифрованных файлах),или просто Windows реестр (.reg файлы).Это гораздо сложнее, для взломщика,чтобы взломать этот тип защиты,так как он должен понимать алгоритм генерации keyfile.Как вы могли догадаться,столь же легко производители программного обеспечения для борьбы с распространением regfiles,как это бывает с серийными номерами — делают простой чёрный список.
Серийные генераторы (keygenerators, keymakers, фильмы). Этот тип crack,гораздо труднее создать,чем предыдущие,так как злоумышленник должен не только полностью понять алгоритм генерации последовательного кода,но и иметь возможность воссоздать его! Кейген часто занимает несколько дней и даже недель,чтобы его написать;тем не менее,работа keygen-демонстрация общей и чистой «победы» крекера по защите производителя.
Противодействие распространению keygen,гораздо сложнее для производителя программного обеспечения;в большинстве случаев им придётся полностью менять последовательный алгоритм генерации (простое изменение приведет к последующему простому и быстрому созданию cracker).
Патчи. Это наиболее распространенный тип crack.Патч — это небольшая программа,которая меняет целевые файлы программы,удаляя или изменяя часть кода,которая отвечает за защиту ограничений или регистрации.В результате, патч делает либо программное обеспечение «думающим,что» оно зарегистрировано,или просто удаляет ограничения, такие как:ограничение по времени,позволяя работать неработающие функции и т.д.Простая защита от патчей обычно легко создаётся путем сравнения двоичных кодов зарегистрированной версии и «пробной версии»,а затем создание «разницы патча»,используя определенное программное обеспечение.Большинство патчей трудно создать,и требует досконального знания языка программирования Assembler и хорошие навыки reverse engineering.
Но есть один недостаток в том,что если злоумышленник не достаточно опытный,он может случайно изменить часть кода,необходимого для нормального функционирования программы.Некоторые производители намеренно «миксуют» защиту кода с кодом программы,чтобы сделать это трудно для крекеров,чтобы написать патч;однако,у опытных крекеров есть и такие фокусы.
Противодействие патчам — это,как правило,не очень сложная задача для производителей программного обеспечения,и в большинстве случаев, простое обновление версии программного обеспечения делает патч бесполезным,потому что патчи изменяют двоичный код и,как правило, создаются,чтобы изменить отдельные детали в коде,который не будет работать, если код отличается (даже слегка) от оригинала.Некоторые производители программного обеспечения пытаются обмануть крекеров,выпуская «silent обновления»:программное обеспечение имеет точно такой же вариант и даже дату релиза,но имеет разный двоичный код.Крекеры противостоят этому,и выпускают несколько версий crack с примечанием «обновление без»,или создают «Общий» crack,который работает со всеми версиями программного обеспечения.
Подгрузчики.Технически,подгрузчики изменяют патчи,за исключением того,что они изменяют двоичный код ПОСЛЕ того, как программа загружается в память компьютера.Как правило,подгрузчики используются для взлома программного обеспечения зашифрованными двоичными файлами,которые делают их очень трудными для написания нормального патча.
Pre-crack файлов («Чокнутый EXE»).Это тип crack включает в себя часть программного обеспечения,уже изменённого крекером. Pre-crack крайне сложно и даже невозможно для борьбы с производителями программного обеспечения,и,по мнению некоторых,это как «нечестная игра».
Хорошо, теперь мы знаем о типах crack и то,что они делают.Как правильно их использовать? Прежде всего,сканирование загружаемых файлов с ХОРОШИМ антивирусом.Я рекомендую делать это в любом исполняемом файле,загруженном из Интернета.Помните,крекеры никогда не заражают их крэки вирусами,как один известный взломщик сказал : «я не собираюсь тратить недели работы,чтобы украсть ваш ICQ пароль или форматирование вашего жесткого диска».Однако,crack файлы могут заразиться на пути от кракера для конечного пользователя,так что лучше ВСЕГДА сканируйте crack антивирусными программами перед запуском.
Во-вторых, ЧИТАЕМ NFO! Большинство из пакетов crack включают краткую инструкцию о том,как его использовать,что может конкретный crack,которая обычно находится в NFO или TXT файлах,входящих в пакет.ВСЕГДА читайте NFO перед запуском crack.Он может содержать очень важные инструкции; чтение NFO избавит вас от многих проблем впоследствии.
Теперь вы готовы,чтобы распаковать и запустить кейген (если это программа). Если это патч или грузчик в первую очередь,вы должны закрыть целевое программного обеспечения.Следуйте NFO инструкциям. Помните, что некоторые crack не работают;может быть ошибка в файле crack,или целевая программа имеет обновлённую защиту.В таких случаях, вам может понадобиться,либо получить старую версию программы, или новую рабочую версию crack.Если crack сработал, программа теперь должна работать без каких-либо ограничений.
Итак, у нас есть кусок софта.Я могу его использовать?А юридические вопросы? Не правда ли незаконное использование софта?
Ну,всё зависит от вашего местного законодательства.Очевидно,что производители программного обеспечения не имеют морального права, чтобы их программное обеспечение было свободно доступно для всего мира (например, программное обеспечение shareware),а потом требуют, чтобы вы строго соблюдали то, что называется «Лицензионное Соглашение Конечного Пользователя (EULA), которое Вы принимаете, когда нажмёте кнопку I ACCEPT»,и не важно в какой стране вы находитесь.Законодательство многих стран не признаёт юридическую силу соглашений,заключенным между компьютером и человеком, особенно,когда эти соглашения будут подписаны нажатием кнопки мыши. Если конфликтов EULA с вашим местным законодательством нет, вы свободны,чтобы нарушить это соглашение и делать всё,что оно запрещает,в том числе crack,разборку,обратный инжиниринг,изменение его имени в ShitSoft CrapOffice и т.д. Однако, ПОМНИТЕ, что программа всё еще остается защищённой авторским правом,которое означает,что вы должны следовать вашим местным законам об авторских правах.В большинстве случаев, вы не имеете права распространять её;можно ли использовать его после предела работы,опять же,зависит от вашего местного законодательства.Проконсультируйтесь с юристом,если вас ЭТО волнует.
Спасибо за чтение моего небольшого путеводителя;я надеюсь,что помог вам или, по крайней мере,статью было интересно читать.Я буду регулярно обновлять её и добавлять больше информации,заходите на сайт почаще!

Читайте также:
Установите соответствие между значками программ и их названиями поясните для чего предназначен

P.P.S. Если у Вас есть вопросы, желание прокомментировать или поделиться опытом, напишите, пожалуйста, в комментариях ниже.

Источник: kompkimi.ru

Взлом программ для чайников

Disclaimer: всё ниженаписанное написано исключительно с просветительскими и исследовательскими целями, а также понимания механизмов защиты от взлома. Автор ни в коем случае не рекомендует использовать данную информацию для взлома программ.

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

Я не буду углубляться в детали и использовать сложные инструменты для взлома. Всё будет расписано «для чайников», т.е. все инструменты будут простыми, легкодоступными и бесплатными. А основным будет Reflector, декомпилятор программ под .NET

В качестве подопытного кролика я выбрал Expresso — анализатор регулярных выражений. Данная программа бесплатная, в лицензии вроде бы ничего не указано про взлом, но при этом без регистрации она будет работать всего 60 дней. Другими словами, вред от взлома данной программы минимальный, к тому же внутреннее её устройство очень уж хорошо подходит для тренировки. Буду надеяться, что автор данной программы не обидится на меня.

Для начала краткий ликбез по структуре .NET программы, для тех кто не знаком с разработкой под данный Framework: весь код, написанный на любом .NET языке (C#, Visual Basic, F#, Delphi.NET) компилируется в особый Intermediate Language, называемый обычно IL или MSIL. Это что-то типа ассемблера, только весьма умного и обладающего весьма мощными инструкциями. И это, в принципе, такой же равноправный язык как и C#, только синтаксис похуже (а возможности больше). Кроме того, в программе на .NET активно используются метаданные, т.е. вся информация о классах, метода, пропертях, атрибутах и всём остальном сохранена в исполняемом файле.

Читайте также:
Glavsoft что это за программа

Т.е. на самом деле, декомпиляция программы не очень верное понятие в данном случае. Она и так вся в открытом виде лежит, а инструменты в виде Reflector’а занимаются тем, что приводят конструкции MSIL к соответствующим конструкциям C# или другого языка, повышая читабельность кода.

Перейдём, собственно, к взлому.

0. Обнуление триала

Собственно, это даже не взлом, а полулегальный способ продлить срок использования неактивированной программы. Заключается он в том, что находится место, где хранится дата первого запуска и меняется/уничтожается. После этого всё можно пользоваться программой до следующего срока.

Посмотрим на нашего подопытного рефлектором. Немного погуляв по коду, находим интересную строчку в конструкторе MainForm:

Открываем редактор реестра, идём в HKEY_CURRENT_USERSoftwareUltrapicoExpresso и видим следующие ключи:

Удаляем их и получаем ещё 60 дней работы.

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

Совет разработчикам, которые будут пытаться записать данные в потаённое место: пишите аккуратнее, а то всё может обернуться проблемами обычным пользователям, у которых почему-то не окажется данного места, или не хватит на него прав.

1. Написание keygen’а

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

Открываем рефлектор и ищем код на предмет классов содержащих License или Registration, видим:

При вводе имени и кода по имени вычисляется некий хеш, который и сравнивается с кодом.

Данный хеш использует DES и всякие префиксы

Байты конвертятся в строку с помощью данного метода.

Читайте также:
Stream pro что это за программа

Теперь всё выяснилось, открываем IDE и копируем все необходимые куски кода (или сами реализовываем). Осталось только выяснить, какие значения у Prefix, Suffix и параметры реализации MyDES. Я их приводить не буду, это уже технические детали.

В результате генерируем ключ на любое имя и видим:

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

2. Использование враппера

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

  1. Указать программе, что лицензия уже проверена
  2. Указать программе, что лицензия корректна

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

Воспользуемся этим. Сделаем новый проект, добавим Reference на Expresso.exe и запустим его через себя:

Смотрим, что получилось:

Ну кто бы сомневался.

В данном случае всё оказалось просто, но если бы автор программы заменил публичные свойства на приватные, то всего-лишь пришлось бы использовать Reflection для доступа и всё бы свелось к исходной задаче.

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

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

3. Физический взлом программы

Тут уже всё серьёзно. Программа целиком декомилируется в MSIL а из него уже собирается обратно (помните, я писал, что MSIL это такой же язык как и C#?). Для декомпиляции нам понадобится утилита из SDK под названием ildasm, а для компиляции компилятор из .NET Framework ilasm.

Запускаем ildasm, открываем Expresso.exe и сохраняем дамп в .il файл. Находим уже рассмотренный метод IsRegistered и добавляем немножко своего кода (без меток):

Потом берём ilasm и собираем всё назад (не забыв подключить ресурсы).

Что делает данный код: устанавливает нужное имя для регистрации (не обязательно), и возвращает статус, что всё хорошо.

Чтобы было понятнее, так это выглядит в рефлекторе, в C#

Т.е. вполне очевидно, что теперь всё будет хорошо:

Немного про код в MSIL: это стековая машина, у которой нет регистров, все операции имеют вид: засунуть в стек нужное количество параметров, выполнить функцию, которая заберёт нужное количество параметров и положит результат. Ну и обратно: установить значение переменной тем, что лежит в стеке. Чтобы лучше понять работу всего этого рекомендую простой приём: пишите маленькую программу на привычном языке, компилируете, смотрите что получилось в MSILe и разбираетесь в конструкциях языка.

При этом некоторые вещи в MSIL можно сделать очень красиво, например поменять две переменные местами — 4 симпатичных строчки (на C# меньше, но некрасиво).

Чем жертвует злоумышленник: подписью программы, теперь она уже не автора, а его. В некоторых случаях это проблема, если в программе используется множество библиотек. Тогда злобному хакеру придётся разбирать их все и собирать их заново, но если он с этим справится, то у него будет «своя» версия программы подписанная его ключом.

Защиты от всего этого безобразия собственно немного: проводить обфускацию или выносить часть логики/проверки защиты в нативный код.

Думаю я рассказал, как просто всё можно разломать на .NET, если создатель не приложил усилий для защиты своей программы. А вы уж решайте, стоит ли делать защиту и тратить на это время и ресурсы. А может просто сделать web-систему, или же бесплатную ограниченную версию. Решать разработчикам.

  • Информационная безопасность
  • .NET
  • Софт

Источник: habr.com

Что такое кряк (crack)?

что такое кряк (crack)

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

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

Что такое кряк (crack)

Кряк (crack) представляет собой взломанные исполняемые файлы или библиотеки программы, в которых убрана система защиты или активации программы или просто эта система обманута. Благодаря крякам вы можете заменить оригинальные файлы программы взломанными, в результате чего программа будет взломанной, иными словами будет работать, как активированная при этом вы не заплатите ни рубля за ее использование.

Обратная сторона кряков

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

Использовать кряки (crack) или нет – выбор только за вами.

Источник: dancan.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru