2016-05-16 10 views
0

У меня есть проект .net, который имеет много модулей, а также имеет некоторые файлы .jar. Я также создал установку для установки .msi.
Это приложение фактически представляет собой IP-адрес нашей компании (внутренний продукт), который некоторое время устанавливается на клиентскую среду на ограниченный период времени.
Мы хотим обеспечить код продукта, чтобы никто не узнал, как он работает, для этого у нас есть стороннее лицензирование (safenet), но проблема в том, что они не обеспечивают шифрование всех методов, присутствующих в .jar (имеют около 1000 методов).

Просто я хочу знать, есть ли способ защитить наш код приложения от декомпилирования? Или есть способ обфускации кода, чтобы скомпилировать не удалось?
Редактировать: Или есть инструмент (инструмент для лицензирования), который предоставляет эти возможности?

Спасибо заранее.Шифрование/обфускация intalled файлов (.dll, .jar)

ответ

1

Извините, но невозможно скрыть, как работают программы. Если машина может запустить ее, ее можно декомпилировать. Например, в Java наиболее распространенные методы запутывания являются:

  • Имя Obfuscation
  • Flow Obfuscation
  • Непрозрачный Предикаты

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

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

2

Я работаю для защиты от копирования. Я постараюсь изо всех сил не быть пристрастным к моей работе.

Да, защита возможна, и вы можете сделать это очень тяжело для хакеров, если хотите. Невозможно ли нарушить защиту? Нет, весь код можно сломать! Но чем лучше защита, тем труднее ее взломать, и чем меньше хакеров получит ваш продукт.

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

Мой коллега написал статью об основах защиты от копирования: All About Copy Protection Посмотрите на «Debug Trapping», если вы не хотите, чтобы прочитать все это :)

 Смежные вопросы

  • Нет связанных вопросов^_^