Защита исходного кода - PullRequest
2 голосов
/ 22 января 2011

Когда вы компилируете программу для публикации в Visual Studio 2010, есть ли в ней какие-либо продвинутые методы, позволяющие декомпилировать вашу программу в исходный код?Есть ли какие-либо методы, которые вы бы использовали для шифрования исходного кода перед компиляцией?

Ответы [ 6 ]

1 голос
/ 29 июля 2011

Вы можете использовать обфускаторы, которые используют различные методы, такие как переименование классов / методов, шифрование строк, скрытие вызовов методов и т. Д. Даже если бы кто-то просматривал ваш код в дизассемблере, он не смог бы разобраться в этомЭто.

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я работаю на программное обеспечение LogicNP, разработчики Crypto Obfuscator

1 голос
/ 22 января 2011

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

1 голос
/ 22 января 2011

Visual Studio по умолчанию не применяет никаких улучшений и не изменяет скомпилированные двоичные файлы, кроме выбранных параметров оптимизации. Однако есть защитники, которые вы можете использовать. Помните UPX? Что ж, upx по-прежнему является очень жизнеспособным методом шифрования ваших двоичных файлов, хотя, конечно, все зависит от ваших потребностей.

0 голосов
/ 31 декабря 2015

Лучшими защитниками являются confuser, engima и themida

0 голосов
/ 22 января 2011

VS 2010 поставляется с Dotfuscator Community Edition, которая запутывает ваш код до такой степени, что затрудняет чтение после декомпиляции. Единственный реальный выбор - зашифровать ваш код, если вам нужна абсолютная безопасность. Возможно, вы захотите проверить платную версию http://www.preemptive.com/products/dotfuscator/overview, чтобы узнать, соответствует ли она вашим потребностям и бюджету

0 голосов
/ 22 января 2011

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

Это не будет шифровать константы в вашей программе, поэтому mypass все равно будет найдено как mypass в двоичном файле.Вам нужна программа шифрования для этого.

Увы, я понятия не имею, что такое хорошие и плохие программы шифрования для двоичных файлов, поэтому я не буду предлагать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...