Blog. Just Blog

Исследование защиты программы OpalCalc

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Темная сторона Силы | Автор: ManHunter
Скриншот программы OpalCalc
Скриншот программы OpalCalc

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

Забираем с офсайта портативный дистрибутив, распаковываем, смотрим. Вот так в программе проявляются ограничения:

Ограничение демо-версии
Ограничение демо-версии

Программа написана на дотнете, отправляем ее на декомпиляцию в dnSpy. Поиском по файлу строки "demo" выходим на следующий код, который используется при выводе сообщения об ограничениях:

Использование флага демо-версии
Использование флага демо-версии

Отлично, у нас есть некий флаг this.demo, значение которого проверяется и затем принимается решение о (не)применении ограничений. Анализатором этого флага узнаем, что во-первых, он имеет тип "boolean"

Описание флага
Описание флага

а во-вторых, что он инициализируется всего в одном месте, причем статусу программы безвариантно назначение значение демо-версии:

Инициализация флага
Инициализация флага

Декомпилируем метод, заменяем первую строчку на this.demo = false и компилируем код обратно. Сохраняем измененную сборку, проверяем.

Программа успешно "зарегистрирована"
Программа успешно "зарегистрирована"

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

Поделиться ссылкой ВКонтакте
Просмотров: 845 | Комментариев: 2

Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
0101 (09.07.2022 в 06:57):
для npp+ есть похожий бесплатный плагин NppCalc
Petya (14.06.2022 в 10:43):
А теперь самое смешное. Достаточно убрать из ссылки _demo, и получится версия, в которой авторы сделали это за нас.

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

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.07 сек. / MySQL: 2 (0.0074 сек.) / Память: 4.5 Mb
Наверх