Как Enigma, Themida и VMProtect сравниваются друг с другом?


1

Я скоро выпущу часть программного обеспечения, и я ищу хороших защитников. Трое, которые пришли мне на помощь, были: Enigma, Themida и VMProtect. Я много раз искал в Интернете, но я не мог найти много сравнений. Они все в одинаковом ценовом диапазоне, так что это не огромная проблема. Мне было интересно, какие основные различия между ними? Виртуализация, строковое шифрование, упаковка и т. Д. Я не мог найти много информации об этом.

Все ответы оцениваются! Thanks

  0

Проголосовало за закрытие, так как этот вопрос в основном основан на мнениях. 12 ноя. 172017-11-12 15:00:29

  0

Я ищу объективную сравнительную характеристику, а также немного личного мнения 12 ноя. 172017-11-12 15:32:30

  0

: https://reverseengineering.stackexchange.com/questions/118/what-kinds-of-steps-can-i-take- to-make-my-c-application-hard-to-reverse-engi/119 # 119 12 ноя. 172017-11-12 18:22:59

  0

Я читал это. Спасибо anyways 12 ноя. 172017-11-12 19:17:56

  0

Отъезд [эта тема] (https://forum.tuts4you.com/topic/39732-vmprotect-vs-themida) от tuts4you 12 ноя. 172017-11-12 19:48:26

5

Отказ от ответственности: Я не работаю ни для одной из компаний, которые делают любой из этих компонентов программного обеспечения. Все приведенные данные представлены из моих личных исследований.

В этом сравнении будут использоваться только те защитники, у которых есть лицензия на: VMProtect и Themida. У меня нет лицензии Enigma, поэтому я не могу сказать о ее функциях защиты.

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

Чтобы начать работу, вот «незащищенная» версия простой функции цикла, которую мы будем защищать с помощью обоих защитников, чтобы увидеть, что они выводят.

VMProtect

VMProtect имеет 3 режима защиты: мутацию, виртуализации, и "Ультра" (оба метода в сочетании)

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

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

Обратите внимание, что эта VM вставляет много накладных расходов. Первоначальное приложение ~ 100 кб было увеличено примерно до ~ 600 кбайт после защиты с использованием этого метода. Вы можете уменьшить размер, включив функцию упаковки внутри VMProtect.

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

Themida

Themida немного отличается от ВМПА , Хотя он также имеет те же функции защиты VMP, он делает это по-разному и имеет еще несколько функций, которые VMP не имеет. Обратите внимание, что эти функции, которые не поддерживаются VMP, не работают во всех типах приложений.

Для Themida's Мутация, она делает это совсем по-другому для VMP. Он добавляет множество случайных операций в сборку, а не специально мутирует каждый код операции.

Виртуализация Themida в однако имеет одну особенность, которая прохладную ВМП не делает: Несколько архитектур виртуальных машин. Themida имеет возможность иметь разные виртуальные машины (с использованием другой архитектуры) внутри одного и того же приложения. Существует также различные «стили» ВМ: некоторые быстрее, но менее безопасно, некоторые более надежны, но менее быстро, и т.д.

Конечно, проблема с этим довольно очевидно: размер. Защищенное приложение со всеми отключенными параметрами защиты составляет около ~ 2 мб от оригинала ~ 100 кб. К счастью, Themida также имеет функцию упаковки, чтобы уменьшить размер, где он уменьшил ее до ~ 1 мб.

Themida также имеет несколько других функций: «ClearCode», где она очищает сборку после того, как бежал, «закодировать», дешифрование кода во время выполнения и повторно зашифровать его после того, как она была выполнена, строка шифрования , и функции для проверки целостности кода.

Заключение

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

  0

Большое вам спасибо за это! Я возился с этими двумя приложениями на компьютере моих друзей, но я не могу понять ни одной вещи. Как зашифровать строку с помощью sdk? Кажется, я не понимаю этого. 13 ноя. 172017-11-13 06:43:43

  0

Если я прав, для VMProtect do VMProtectDecryptStringA/W для Themida используйте макросы STR_ENCRYPT_START/STR_ENCRYPT_END. 13 ноя. 172017-11-13 12:32:34

  0

Вы используете макросы, подобные этому примеру строки STR_ENCRYPT_START = "hello" STR_ENCRYPT_END или пример строки = STR_ENCRYPT_START "привет" STR_ENCRYPT_END 13 ноя. 172017-11-13 13:06:07

  0

также im, просматривающий vms. любые предложения, которые vms мне следует использовать для themida и vm? 13 ноя. 172017-11-13 13:11:04