как взломать код активации

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

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

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

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

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

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

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

как взломать код активации

Открываем редактор реестра, идём в HKEY_CURRENT_USER\Software\Ultrapico\Expresso и видим следующие ключи:

как взломать код активации

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

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

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

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

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

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

как взломать код активации

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

как взломать код активации

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

как взломать код активации

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

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

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

как взломать код активации

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

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

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

как взломать код активации

как взломать код активации

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

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

как взломать код активации

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

как взломать код активации

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

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

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

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

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

как взломать код активации

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

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

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

как взломать код активации

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

как взломать код активации

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

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

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

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

Источник

Код для взлома или как что-нибудь взломать

Отзывы пользователей

как взломать код активации

Код для взлома или как что-нибудь взломать

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

Как взломать что-либо простому человеку…

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

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

Скачать программу слежения можно здесь >>

Скачать руководство по установке можно здесь >>

Как можно взломать пароль…

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

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

После регистрации все Ваши данные попадают в базу данных сайта и сохраняются вот в таком виде:

как взломать код активации

Если предположить, что хакеры взломали сайт и завладели данными пользователей, то они всё равно не смогут ими воспользоваться, так как пароль скрыт. И после хеширования выйдет на сам пароль, а его хеш (например, пароль имеет вид 12345, а его hash 827ccb0eea8a706c4c34a16891f84e7b).

Другими словами – заиметь данные серверной базы сайта – это еще полдела, нужно теперь расшифровать пароль. Именно поэтому, самая сложная проблема – узнать пароль! Так как остальные данные можно узнать и у самого человека.

Что будут делать хакеры…

Так как хакеры ломают сайты? Они будут переводить хеш (эти бесконечные буквы-цифры вместо пароля) в нормальный вид. Но, как мы уже знаем, хеширование это односторонняя функция.

Вариант 1. Радужные таблицы и базы паролей

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

Внимание! В таких «радужных таблицах» находятся только самые используемые пароли. Если у Вас действительно уникальный пароль, все эти базы данных с их миллиардами возможных вариантов, будут бесполезными.

Вариант 2. Брутофорс

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

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

В список возможных паролей, для того чтобы ломать сайты входит:

А как же службы безопасности…

Служба безопасности сервисов тоже не лыком сшиты и они прекрасно знают как хакеры ломают сайты – хеширование и брутофорс – это давно известные методы взлома.

И поэтому, чтобы наиболее затруднить вскрытие сайтов они уже давно используют метод Salting (соление). Если простыми словами, то на пути хеширования пароля сначала его солят другими символами. У каждого сервиса своя «соль».

Например, соль какого-то сервиса f&2p. Значит все пароли, которые будут сохранены на данном сервисе, будут перед хешированием разбавляться (солиться) этими символами:

как взломать код активации
Как видите: хеш чистого пароля и хеш прошедшего Salting – это абсолютно разный набор символов. И получается, что даже самый легкий пароль в некоторых сервисах взломать не возможно. Так как «вытащить соль» из пароля невозможно.

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

Фишинг – уникальный и безотказный взлом сайтов

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

Кстати, этим способом пользуются 90% хакеров, которые хотят взломать что-либо. Да и простые люди, у которых есть хоть какие-то знания по программированию, также используют данный 100% метод по взлому страниц (аккаунтов, сайтов) путем выуживания пароля.

Шаг 1. Готовим удочку с крючком (ведь фишинг — это рыбалка)

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

Узнать фишинговую страницу можно по незаметному символу, которого нет в реальной входной странице:

Входная страница Вконтакте

как взломать код активации

Входная страница Insagram

как взломать код активации

Входная страница Одноклассников

как взломать код активации

Видите, разница всего в одну букву, которая не сильно бросается в глаза. А года 3 назад, адрес сайтов был длинным и тогда фишинговую страницу практически не возможно было увидеть. Это совсем недавно адреса сделали предельно простыми и краткими. Так, например, у социальной сети Одноклассники был адрес www.odnoklassniki и конечно же внедрить незаметно букву было гораздо проще. А сейчас ее адрес стал www.ok. Опять же, служба безопасности не спит…

Шаг 2. Разбрасываем приманку

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

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

Шаг 3. Начинается непосредственно рыбалка

Терпеливо ждете, когда человек пройдет по ссылке. Как только он ввел туда свой логин и пароль – всё – для Вас рыбалка закончена. Вы смогли сайт сломать – Вы знаете логин и пароль.

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

И напоследок…

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

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

Если у Вас возникнут вопросы – сразу пишите консультантам!

Источник

Как мне удалось взломать приложение

Здравствуй уважаемый %habrauser%. В данной статье я поделюсь с вами историей о том как я взломал приложение. Взломать сам EXE-шник приложения не получилось, но желаемый результат был получен другим способом. Чтобы сохранить конфиденциальность буду опускать некоторые моменты, сильно обрезать скрины. И так

как взломать код активации

Этот неживой и баснословный мир

Все начиналось хорошо, ничто не предвещало беды. В один поздний вечер мне один хороший знакомый попросил об одной услуге выражаясь фразами типа «ну ты ж у нас программист». Писал он о просьбе взломать некое приложение. На что я ответил, что постараюсь, но о удачном взломе не гарантирую. На следующий день мы встретились, он мне дал диск и объяснил, что это за приложение.

Начало

Есть некая организация, которая занимается обучением людей для сдачи одного определенного экзамена. Чтобы получить это приложение надо пойти в эту организацию, записаться и оплатить курсы. В конце пройденного курса организация за дополнительную плату дает диск с установщиком программы с индивидуальным ключом активации. Приложение позволяет делать тесты, смотреть на результаты. Есть некий режим «На экзамене», который позволяет имитировать среду экзамена. Приложение выдает случайные тесты из разных разделов. Все хорошо и прекрасно.

Первые шаги — экспериментируем

Устанавливаем приложение запускаем его, чтобы посмотреть, что оно из себя представляет.
Открывается такой сплэш экран, и приложение на несколько секунд зависает (данное зависание не спроста).

Открывается сплэш экран, а за ним, через несколько секунд открывается такое окошко:

как взломать код активации

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

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

Лезу в папку уставленной программы:

как взломать код активации

как взломать код активации

В итоге передо мной открылась такая картина

как взломать код активации

как взломать код активации

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

Попробуем деобфусцировать и получаем такой результат:

как взломать код активации

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

Тогда я, решил попробовать хотя бы открыть файл базы данных DataSource.data, в SQLite.

как взломать код активации

От нас требуется пароль от базы данных.

Разочарованный неудачей я уже сдавался, взлом я оставил на потом на лучшие времена. Но из головы никак не уходила мысль о том, что я что-то пропустил.

Уважаемый вы здоровы?

Иногда шаг вперед является результатом пинка в зад

как взломать код активации

как взломать код активации

Нажимаем «Compile», сохраняем файл, заменяем с оригинальным и наконец запускаем приложение.

Источник

Набор программ для взлома программ. Выбираем инструменты для реверса

как взломать код активации

Содержание статьи

WARNING

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

Отладчики

Отладка приложения — это неотъемлемая часть процесса исследования, инструмент, который всегда под рукой у реверсера. В современном мире отладчик должен поддерживать обе интеловские архитектуры — x64 и x86, из этого мы и будем исходить.

Также у нас должна быть возможность отлаживать код, который работает в режиме ядра. Такая нужда периодически возникает, особенно если ты намерен искать zeroday-уязвимости в ядре ОС или реверсить драйверы вирусов. Основных претендентов два: x64dbg и WinDbg. Первый отладчик работает в режиме user mode, второй может отлаживать код в режиме kernel mode.

x64dbg

Этот современный отладчик с весьма приятным интерфейсом — достойный преемник OllyDbg. Поддерживает обе архитектуры — x64 и x86, обладает массой полезнейших плагинов.

как взломать код активации x64dbg
как взломать код активации Встроенный декомпилятор

Да, безусловно, он не лишен недостатков — в нем до сих пор есть несколько неприятных багов. Однако он активно поддерживается и развивается. Разумеется, из-за того что отладчик работает в пользовательском режиме, он остается уязвимым для многих техник обнаружения отладки. Но этот минус отчасти компенсируется разнообразием плагинов для сокрытия отладчика.

У x64dbg есть встроенный декомпилятор, поддерживается отображение кода в виде графа, можно делать точки останова на чтение, запись, выполнение и доступ, имеется встроенная утилита реконструкции импортов (как x64, так и x86). В общем, что говорить — этот отладчик использовался в узких кругах для того, чтобы победить небезызвестную игровую защиту Denuvo, и успешно справляется с этой задачей!

Почему не OllyDbg

В подборку не попал отладчик OllyDbg — по той причине, что он уже серьезно устарел. Он не поддерживает ни современные ОС, ни архитектуру x64. На официальном сайте приложения был анонс 64-битной версии и даже сообщалось о прогрессе в ее разработке, но сам сайт обновлялся в последний раз в 2014 году. Безусловно, с OllyDbg связана целая эпоха, но, по всей видимости, она прошла. Да и отладчиков kernel mode тоже поубавилось — разработчики забросили Syser Kernel Debugger, а он в свое время был преемником SoftICE.

WinDbg

Если нужно отлаживать ядро или драйвер, то WinDbg нет равных. Этот отладчик поддерживает сама Microsoft, и он входит в состав Windows Driver Kit (WDK). На данный момент это самое актуальное и мощное средство отладки кода ядра. Здесь нет такого приятного интерфейса, как в x64dbg, но и выбора у нас немного — другие отладчики не работают в kernel mode.

WinDbg поддерживает удаленную отладку и умеет скачивать отладочные символы напрямую с серверов Microsoft. Чтобы быстрее настроить его для отладки ядра ОС внутри виртуальных машин, существует надстройка VirtualKD. Безусловно, начинать путь реверсера с WinDbg строго противопоказано, но, когда наберешься опыта и начнешь пробовать разные интересные вещи, он становится необходимостью.

Именно в WinDbg можно запросто посмотреть, как выглядят те или иные системные структуры, и легко дизассемблировать функции NTAPI. Конечно, им можно отлаживать и «обычные» приложения, но лично я предпочитаю распаковывать столь могучий инструмент только при крайней необходимости! 🙂

Дизассемблеры

Сложно представить себе реверс без инструментов статического анализа кода. На сегодняшний день дела с дизассемблерами обстоят немногим лучше, чем с отладчиками, но все-таки можно выделить фаворитов в этой области. Признанный стандарт антивирусных лабораторий — это дизассемблер IDA Pro. Второе место по востребованности занимает фреймворк для реверс-инжиниринга Radare2 (хотя многие считают, что Radare2 не уступает IDA).

IDA Disassembler

Существует две версии IDA — платная (Pro) и бесплатная (Starter). Бесплатная версия урезана по количеству поддерживаемых архитектур — она понимает только x86, кроме того, она не поддерживает плагины. Платная версия лишена подобных ограничений: она поддерживает внушительное количество архитектур процессоров и позволяет подключать расширения.

В IDA есть встроенный отладчик, весьма простенький по набору функций, но к его самобытному интерфейсу придется приноровиться. Также IDA может быть укомплектован дополнением Hex-Rays — декомпилятором исходного кода приложения в код на C. Это полезнейшее дополнение, которое значительно ускоряет анализ программы.

В целом IDA — мощнейший и прекрасно отполированный инструмент, который развивался много лет. Жаль только, что профессиональная версия стоит в районе 500–1000 долларов в зависимости от вида лицензии и кому попало не продается. Кто попало в результате выкручивается как может. 🙂

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *