Другой вопрос, т.е. Лучший инструмент/стратегия .NET для обфускации, спрашивает, легко ли реализовать обфускацию с помощью инструментов.
Мой вопрос, хотя, эффективен обфускации. В комментарии, отвечая на этот ответ, кто-то сказал, что "если вы беспокоитесь о краже источника... обфускация почти тривиальна для настоящего крекера".
Я просмотрел вывод из Community Edition Dotfuscator: и он выглядит запутанным для меня! Я бы не хотел этого поддерживать!
Я понимаю, что просто "взломать" запутанное программное обеспечение может быть относительно легко: потому что вам нужно только найти, какое бы местоположение в программном обеспечении не выполняло все, что вы хотите взломать (как правило, защиту лицензии), и добавить прыжок, чтобы пропустить этот.
Если беспокоиться больше, чем просто взломать конечный пользователь или "пират", хотя: если беспокоиться "кража источника", т.е. если вы поставщик программного обеспечения, а ваше беспокойство - другой поставщик (потенциальный конкурент ) обратное проектирование вашего источника, который они могли бы затем использовать или добавить в свой собственный продукт... в какой степени простая обфускация адекватной или неадекватной защиты от этого риска?
1st edit:
Этот код составляет около 20 KLOC, который работает на компьютерах конечных пользователей (пользовательский элемент управления, а не удаленная служба).
Если обфускация действительно "почти тривиальна для реального взломщика", я хотел бы получить некоторое представление о , почему он неэффективен (а не просто "насколько" он не эффективен).
2nd edit:
Меня не волнует кто-то, кто реверсирует алгоритм: больше беспокоит их повторение фактической реализации алгоритма (т.е. исходного кода) в свой собственный продукт.
Полагая, что 20 KLOC - это работа на несколько месяцев, чтобы развиться, потребуется ли это больше или меньше этого (несколько месяцев), чтобы деобфусить все это?
Нужно ли вообще деобфусить что-то, чтобы "украсть" его: или здравомыслящий конкурент просто включит его в свой продукт, пока все еще запутывается, согласитесь, что, поскольку он является кошмаром для обслуживания и надеется, что ему нужно немного поддержание? Если этот сценарий является возможностью, тогда он запутывается. Net-код, более уязвимый для этого, чем скомпилированный машинный код?
Большая часть обфускации "гонки вооружений" направлена главным образом на то, чтобы люди не могли даже "взломать" что-то (например, находить и удалять фрагмент кода, который реализует защиту/принуждение к лицензированию), больше, чем предотвращать "кражу источника"?