Здравствуйте! У нас есть программный продукт, написанный на C# под .NET4. Состоит из exe файла и ряда dll. Сейчас перед нами стоят следующие цели:
- Максимально затруднить деобфускацию/дизассемблирование и анализ кода. В частности, противодействовать воровству кода (чтобы трудозатраты на написание нового кода были явно меньше, чем трудозатраты на анализ нашего exe или dll с целью восстановления нашего кода). Подчеркнем мы не стремимся к полной невозможности восстановления, но хочется максимального затруднения.
- Затруднить взлом механизма защиты.
Из беглого "рытья в интернете" предполагаем возможными следующие варианты (замечу, это всего лишь предположения неопытного в вопросе человека):
- Для затруднения анализа кода использовать хороший обфускатор/протектор/упаковщик и т.п. У нас есть пара идей, "кто бы это мог быть", при личном общении изложу.
- Механизм защиты перенести в нативный код на C++ , тут же можно также добавить использование протектора.
Ваши задачи:
- Спроектировать систему защиты от взлома и анализа для нашего приложения. В частности, определить список производимых для защиты мероприятий, набор используемых готовых решений, набор требуемых самописных дополнений, краткая, но доступная инструкция по работе с системой.
- Произвести (или курировать) мероприятия, направленные на внедрение системы защиты (например перевод части кода с C# на С++).
- Естественно, нужно проверить, насколько сложно проанализировать/взломать полученные exe/dll.
Требования к системе защиты:
- Возможность полностью автоматизировать процесс. Например, при использовании обфускатора/протектора/упаковщика "превращение" exe и dll в пропатченные версии должно быть автоматизированным (по нажатию кнопки). Таким образом, у задействованных программных решений должна быть поддержка работы из командной строки.
- Также важно, чтобы защищенная программа не уступала (ну или почти не уступала) по скорости работы исходной версии.
- Система защиты должна быть достаточно универсальной, чтобы в будущем мы могли ее использовать в своих других решениях.
Требования к специалисту:
- Опыт в защите, а также снятии защиты с программных продуктов.
Убедительная просьба! В предложениях, указывать стоимость своего часа работы + ориентировочную стоимость дополнительных решений, которые собираетесь задействовать, чтобы мы могли хотя бы приблизительно оценить требуемый бюджет.
Опубликован 07.05.2015 в 09:00