Запутывание в Visual Studio

#visual-studio #obfuscation #decompiling

Вопрос:

Я пытаюсь протестировать различные обфускаторы. Перед запутыванием я использовал декомпилятор Reko. Похоже, что exe — файл уже запутан-пожалуйста, посмотрите на снимок экрана. Может кто — нибудь, пожалуйста, объяснить-почему все методы и переменные выглядят так, как будто исполняемый файл уже запутан?введите описание изображения здесь

Комментарии:

1. Нет смысла запутывать машинный код.

Ответ №1:

  1. Имена символов не компилируются в исполняемый машинный код. Они могут быть сохранены, но в этом случае они сохраняются в отдельном файле .pdb. Если вы не создадите его во время сборки или не сделаете доступным для отладчика/декомпилятора, он не сможет определить переменные и имена функций (за исключением импортированных/экспортированных).
  2. Конструкции высокого уровня, такие как for или while , реализуются с помощью переходов и условных переходов, поэтому невозможно определить, был ли цикл реализован с помощью for или goto , или если оператор условного was if или тернарный оператор.
  3. Оптимизация сильно преобразует код, отбрасывая ненужные части, выполняя некоторые операции во время компиляции и т. Д.

Комментарии:

1. Спасибо. Значит, в этом случае я могу отправить exe-файл кому-то без запутывания?

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