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

ЗАДАЧА

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

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

Сайт tvigi.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Можете оставлять Ваши отклики

4 года назад
Arei15
Андрей 
32 годаРоссия
9 лет в сервисе
Был
2 года назад
  • Похожие заказы
  • Задача. Согласно итоговым макетам разработать новый визуал проекта на WPF и объединить уже готовые страницы в единую систему. Прикладываю картинку с примером, большинство стилей и страниц уже сделано, требуется объединить на одной странице задания и список с ...

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

    Прикладное ПОнет заявок
    Закрыт
    4 года назад
  • Нужен сканер арбитражных ситуаций для некоторых букмекерских контор (проще говоря, вилки) live и прематч. БК: марафон, пинакл, sbobet, asianodd, bet365 Важно, чтобы у вас был опыт или хотя бы понимание того, что есть вилки. Метод реализации значение ...

    Закрыт
    4 года назад
  • Добавить в ПО блок контроля за скоростью: - Связать наше ПО по API с сервисом Траектория.Глонасс - В автоматическом режиме подтягивать в программу данные о скоростных режимах всех автомобилей, которые зарегистрированы в сервисе Траектория. - Данные должны сортироваться ...

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

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

    Необходимо доработать модуль 3D(opengl) программы в плане работы камеры удобной пользователю, визуализации поверхности(ей) высот, изолиний. На данный момент реализовано отображение поверхностей, растягивание по z, изолинии. Главная задача – при растягивании по z поверхность и изолинии ...

    Прикладное ПОнет заявок
    Закрыт
    4 года назад
  • Нужно разработать чат бота для резервного канала техподдержки для мобильного приложения [url=https://cazinomobile.net/prilozhenie-kazino-na-realnye-dengi]https://cazinomobile.net/prilozhenie-kazino-na-realnye-dengi[/url] в бота нужно заложить ответы на наиболее часто задаваемые игроками вопросы и функцию связи с оператором техподдержки в случае нештатных ситуаций, так же реализовать возможность ...

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