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

ЗАДАЧА

Требуется консультация по реализации защиты програмного обеспечения от взлома и распространения

ИСХОДНЫЕ ДАННЫЕ

Сайт tvigi.com

Программа написана на с#.

После сборки происходит обфускация итогового exe файла.

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

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

ПРЕДВАРИТЕЛЬНЫЙ ПЛАН

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

Сами ключи мы планируем разместить в исходном коде ПО в зашифрованном виде и реализовать систему сверки входящего ключа с имеющимися.

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

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

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

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

ВОПРОСЫ И ЗАДАЧИ

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

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

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

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

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

По идее это должно служить принципу "БАНКОВСКИХ ДЕНЕГ" т.е если и украли и вынесли за датчик - то взорвется краска и они будут непригодны для использования. Тоже самое хотим сделать и мы путем интеграции исполняющего кода с местами проверки лицензионных ключей - чтобы если кто то несанкционированно будет пробовать запустить софт даже пробуя взломать модуль (вход-выход) то исходный код просто не будет работать т.к будет по каким либо техническим критериям, (неизвестным для взломщика и периодически меняющимся) - видеть что его обманывают и это несанкционированный доступ

Все должно свистить к тому что единственный способ взломать ПО чтобы нормально работать это расшифровать исходники что технически нерентабельно.

УСЛОВИЯ СОТРУДНИЧЕСТВА

Требуется как минимум консультация Senior специалиста как максимум - помощь в технической реализации.

Писать только после ознакомления с информацией и при наличии понимания задачи и ресурсов для помощи в ее выполнены

Необходимую дополнительную информацию предоставим при личном общении.

4 года назад
Arei15
Андрей 
32 годаРоссия
9 лет в сервисе
Был
2 года назад
  • Похожие заказы
  • Для реализации использовать htmlagilityPack, по щелчку кнопки иметь на выходе datatable с заданными типами столбцов (date, double пр.). Необходимо сохранить данные, которые представлены в колонках в виде текста в таблице, а так же ссылку (атрибут href) ...

    Прикладное ПО1 исполнитель
    Завершен
    4 года назад
  • Нужно разработать программное обеспечение для системы контроля доступа открывания двери, со считывателем QR кодов (модель считыватель неизвестна) (считыватель должен считывать QR код от фискального чека и открывать дверь если время на фискальном чеке не превышает ...

    Закрыт
    4 года назад
  • Добрый день нужна доработка существующего проекта на Делфи. Исходники есть. 1)) Нужно добавить возможность менять метрику интерфейса Вот тут правый клик вызывает меню - добавить кнопку - "Инет с WiFi" и "Инет с провода" Вот тут рассказано, как ...

    Прикладное ПОнет заявок
    Закрыт
    4 года назад
  • Требуется создать скрипт / программу / то что сделает след.: Есть фейсбук группы - там постят посты - требуется система которая будет проверять наличие новых постов и собирать их в одну ленту - например через телеграм ...

    Закрыт
    4 года назад
  • Имеется уже рабочий и развивающийся проект.  Требуется писать скрипты и их поддерживать на постоянной основе. ТЗ в приложении. Все остальные файлы высылаю после одобрения. [b][i]Общие требования к программисту[/i][i] [/i][/b] [list][*]Разбираться в БД[*]Писать скрипт строго по шаблону[*]Не менять основные функции и ...

    Закрыт
    4 года назад
  • Есть очень простая и бесплатная утилита PCRobot. Однако полноценное использование её затруднено в связи с тем, что разработчики перестали её поддерживать, а программа в определённые моменты требует пройти регистрацию. Сделать это невозможно по вышеописанной причине. ...

    Прикладное ПОнет заявок
    Закрыт
    4 года назад
  • Нужна программа с реализацией выбранного метода, интерфейс программы должен быть с кнопками , окнами вывода результатов численных и графических, вкладкой help(где описан ваш метод и инструкция по работе с программой), сама программа должна уметь принимать ...

    Закрыт
    4 года назад