09.09.2017

Ключ Для It Окна Конструктор

Взлом программ для чайников / Хабрахабр. Disclaimer: всё ниженаписанное написано исключительно с просветительскими и исследовательскими целями, а также понимания механизмов защиты от взлома. Автор ни в коем случае не рекомендует использовать данную информацию для взлома программ. В данной статье я хочу рассказать про три с половиной основных способа взлома программ на . NET, цель, которую я преследую — помочь разработчикам лучше понять механизмы защиты своих программ, т. Всё будет расписано «для чайников», т. А основным будет Reflector, декомпилятор программ под .

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

Ключ Для It Окна Конструктор

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

NET активно используются метаданные, т. Она и так вся в открытом виде лежит, а инструменты в виде Reflector'а занимаются тем, что приводят конструкции MSIL к соответствующим конструкциям C# или другого языка, повышая читабельность кода. Перейдём, собственно, к взлому. Обнуление триала. Собственно, это даже не взлом, а полулегальный способ продлить срок использования неактивированной программы. Заключается он в том, что находится место, где хранится дата первого запуска и меняется/уничтожается.

Ключ Для It Окна Конструктор

После этого всё можно пользоваться программой до следующего срока. Посмотрим на нашего подопытного рефлектором: Немного погуляв по коду, находим интересную строчку в конструкторе Main. Form. Открываем редактор реестра, идём в HKEY.

Написание keygen'а. Самый ужасный для разработчика вариант, и самый приятный для конечного злобного пользователя. Программа считает себя лицензионной, никаких страшных телодвижений не нужно делать. Открываем рефлектор и ищем код на предмет классов содержащих License или Registration, видим: При вводе имени и кода по имени вычисляется некий хеш, который и сравнивается с кодом. Данный хеш использует DES и всякие префиксы. Байты конвертятся в строку с помощью данного метода.

Установка драйвера ключа защиты Guardant (для локальной версии программы). Импорт счетов из программы IT-Окна.Конструктор. Импорт счетов . Иконка IT Окна Конструктор. Скачать IT Окна Конструктор с нашего сайта. Программа IT Окна Конструктор мне очень нравится, работаю с ней давно . В базе IT ОКНА КОНСТРУКТОР 4 GRAIN прописаны системы профилей. Зарегистрировать свою компанию в системе IT Окна; Получить ключ . IT Окна Конструктор - недорогое и качественное решение для производства и реализации окон ПВХ. Программа «Конструктор» создана для работы менеджера при проектировании. Убедиться, что ключ найден системой (На ключе должен загореться.

Принимаем на работу замерщиков окон ПВХ с опытом от 1 года. Расчет стоимости в программе «IT-Окна Конструктор» (если не владеете. В результате генерируем ключ на любое имя и видим. У меня есть опыт защиты Windows-приложений при помощи. Программа «IT Окна» уже давно пользуется заслуженной популярностью среди производителей оконных конструкций. И если вы еще .

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

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

Воспользуемся этим: Сделаем новый проект, добавим Reference на Expresso. Смотрим, что получилось: Ну кто бы сомневался. В данном случае всё оказалось просто, но если бы автор программы заменил публичные свойства на приватные, то всего- лишь пришлось бы использовать Reflection для доступа и всё бы свелось к исходной задаче. Думаю понятно, как можно пробовать защититься от этого — проверять лицензию периодически, смотреть окружение из которого запущена программа, сделать невозможным установку нужной переменной. Но все эти защиты приведут к тому, что злоумышленник будет использовать. Физический взлом программы. Решебник По Математике И Конструирование 4 Класс Волкова.

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

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

Ну и обратно: установить значение переменной тем, что лежит в стеке. Чтобы лучше понять работу всего этого рекомендую простой приём: пишите маленькую программу на привычном языке, компилируете, смотрите что получилось в MSILe и разбираетесь в конструкциях языка. При этом некоторые вещи в MSIL можно сделать очень красиво, например поменять две переменные местами — 4 симпатичных строчки (на C# меньше, но некрасиво). Чем жертвует злоумышленник: подписью программы, теперь она уже не автора, а его. В некоторых случаях это проблема, если в программе используется множество библиотек. Тогда злобному хакеру придётся разбирать их все и собирать их заново, но если он с этим справится, то у него будет «своя» версия программы подписанная его ключом. Защиты от всего этого безобразия собственно немного: проводить обфускацию или выносить часть логики/проверки защиты в нативный код.

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

Решать разработчикам.