от
Мой продукт состоит из нескольких компонентов: ASP.NET приложение форм Windows и Службы Windows. 95% или так код пишется в VB.NET. По соображениям интеллектуальной собственности, мне нужно обфусцировать код, и до сих пор я использую версию программы Dotfuscator, который уже более 5 лет. Я думаю, пора переходить на новый инструмент поколения. Что я ищу-это список требований, которые я должен учитывать при поисках нового обфускатора. Что я знаю, что я должен искать так далеко: Сериализации/де-сериализации. В мое текущее решение, я просто расскажу этот инструмент не чтобы скрыть какие-либо данные-члены класса, поскольку боль не в состоянии загрузить данные, которые ранее сериализованные просто слишком большой. Интеграция с процесса сборки Работа с ASP.NET. В прошлом, я обнаружил, что это проблематично из-за изменения .имена файлов (вы часто по одному на страницу) - которую не все инструменты хорошо справиться.

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста подтвердите адрес электронной почты.

31 Ответы

0 голосов
от
Мой продукт состоит из нескольких компонентов: ASP.NET приложение форм Windows и Службы Windows. 95% или так код пишется в VB.NET. По соображениям интеллектуальной собственности, мне нужно обфусцировать код, и до сих пор я использую версию программы Dotfuscator, который уже более 5 лет. Я думаю, пора переходить на новый инструмент поколения. Что я ищу-это список требований, которые я должен учитывать при поисках нового обфускатора. Что я знаю, что я должен искать так далеко: Сериализации/де-сериализации. В мое текущее решение, я просто расскажу этот инструмент не чтобы скрыть какие-либо данные-члены класса, поскольку боль не в состоянии загрузить данные, которые ранее сериализованные просто слишком большой. Интеграция с процесса сборки Работа с ASP.NET. В прошлом, я обнаружил, что это проблематично из-за изменения .имена файлов (вы часто по одному на страницу) - которую не все инструменты хорошо справиться.
0 голосов
от
Обратно с .Объем 1.1 запутывания важно: декомпиляция кода было легко, и можно переходить от сборки, Ил, в код C# и он снова собран с очень небольшим усилием. Сейчас .Net 3.5 с я не уверен. Попробовать декомпиляция на 3.5 собрания; что вы получаете долгий путь от составления. Добавить оптимизаций от 3.5 (гораздо лучше, чем 1.1) и кстати анонимные типы, делегаты и т. д. обрабатываются путем отражения (они являются кошмаром для перекомпиляции). Добавить лямбда-выражения, компилятор 'магия' как LINQ-синтаксис и
var
и C#2 функций, таких как
yield
(который приводит в новые классы с нечитаемыми именами). Ваш декомпилированный код заканчивается долгий путь от компилируемых. Профессиональная команда с большим количеством времени, можно еще раз декомпилировать его обратно, но то же самое верно для любой код обфусцирован. Какой код они вышли, что бы unmaintainable и, весьма вероятно, будут очень глючит. Я бы порекомендовал ключа подписи сборки (то есть, если хакеры могут пересобрать они должны перекомпилировать все) но я не думаю, что обфускация стоит.
0 голосов
от
Мы пробовали несколько обфускаторов. Ни один из них крупный клиент/сервер приложений, который использует удаленные. Проблема в том, что клиент и сервер разделяют некоторые библиотеки DLL, и мы не нашли каких-либо обфускатор, который может справиться с этим. Мы попробовали продукт Dotfuscator про SmartAssembly, XenoCode, Саламандра, и несколько небольших времени приложений, чьи имена убежать от меня. Честно говоря, я убежден, что обфускация-это большой Хак. Даже проблемы, которые она решает-это не совсем реальная проблема. Единственное, что вам действительно нужно, чтобы защитить строк подключения, коды активации, важные вещи, как, что. Этот бред, что еще одна компания собирается реконструировать весь ваш код и создать конкурирующий продукт от это что-то из параноидального менеджер кошмар, а не реальность.
0 голосов
от
Я 'по колено' в это время, пытаясь найти хорошее решение. Вот мои впечатления до сих пор. Xenocode - у меня старая лицензия на Xenocode2005, которые я использовал, чтобы использовать для запутывания меня .net сборки 2.0. Он отлично работал на XP и было достойное решение. Мой текущий проект .net 3.5 и я в Vista, поддержка сказал мне, чтобы дать ей идти, но версия 2005 года даже не работает на Vista (падает) так что я и теперь я должен купить 'PostBuild2008 на поразительно цене $1900. Это может быть хороший инструмент, но я не собираюсь выяснить. Слишком дорого. Reactor.Net - это гораздо более привлекательной цене, и это хорошо работало на моем автономном Executeable. Модуль лицензирования также было приятно и сэкономило бы мне кучу сил. К сожалению, отсутствует ключевая функция, а именно возможность исключить вещи из запутывания. Это делает невозможным достижение результата (объединить несколько сборок, скрыть некоторые, не мешающие другим). SmartAssembly - я скачал eval для этого, и она работала безупречно. Я был в состоянии достичь все, что я хотел, и интерфейс был первый класс. Цену еще немного здоровенный. Программа Dotfuscator про - не могу найти цены на сайте. В настоящее время в обсуждениях, получить цитату. Звучит зловеще. Конфузор - проект с открытым кодом, которая работает достаточно хорошо (чтобы запутать людей, так как имя предполагает). https://confuser.codeplex.com/ (добавлено jgauffin) Примечание: по сообщениям ConfuserEx "сломан" по данным выпуск #498 на их GitHub РЕПО.
0 голосов
от
Если вы ищете бесплатный, вы можете попробовать DotObfuscator сообщества Edition, которая поставляется с Visual Studio или Eazfuscator.NET. С 29 июня 2012 года, Eazfuscator.NET сейчас коммерческие. Последняя бесплатная версия 3.3.
0 голосов
от
Я использую smartassembly. В основном, вы выбираете DLL и возвращает его запутывание. Кажется, работает хорошо и я до сих пор без проблем. Очень, очень проста в использовании.
0 голосов
от
Я пробовал почти каждый обфускатор на рынке и SmartAssembly-это лучшее на мой взгляд.
0 голосов
от
Я также использую SmartAssembly. Я обнаружил, что Ezrinz .Объем реактора намного лучше для меня .net-приложений. Он запутывает, поддержка моно, сливает сборки и она также имеет очень хороший модуль лицензирования для создания демо-версию ссылку или лицензии на конкретный компьютер (очень легко реализовать). Цена также является очень низким, и когда мне нужна поддержка они куда быстрее. Eziriz Просто чтобы быть ясно, я просто custumer кто любит продукт и никак не связаны с компанией.
0 голосов
от
Короткий ответ заключается в том, что вы не можете. Существуют различные инструменты, которые сделают его более трудным для кого-то, чтобы читать ваш код - некоторые из них уже отмечали другие ответы. Однако, все эти сделать, это сделать это тяжелее, чтобы читать - они увеличивают количество необходимых усилий, вот и все. Часто этого достаточно, чтобы отпугнуть случайных читателей, а тот, кто решил покопаться в коде всегда сможете это сделать.
0 голосов
от
У нас есть мульти уровня приложений с asp.net и winform интерфейс, который поддерживает удаленное взаимодействие. Я не имел никаких проблем с использованием любого обфускатора за исключением шифрования типа, который создает загрузчик, который может быть проблематичным во всякие неожиданные стороны и просто не стоит на мой взгляд. На самом деле мой совет будет больше вдоль линий "избежать шифрование загрузчик обфускаторы типа как от чумы". :) По моему опыту любой обфускатор будет прекрасно работать с любым аспектом .net, включая asp.net и Remoting, надо просто сродниться с настройками и узнайте, как далеко вы можете нажать на него, какие участки вашего кода. А тратить время на попытки реверс-инжиниринга на то, что вы получаете и увидеть, как она работает с различными настройками. Мы использовали несколько лет в нашей коммерческой приложений и остановились на специи обфускатор от 9rays.net потому что цена правильная, это не работа, и поддержка у них хорошая, хотя мы реально не нужна была поддержка В лет больше, но чтобы быть честным, я не думаю, что это действительно важно, что вы использовать обфускатор, вопросы и обучения все же если вы хотите, чтобы он правильно работал с Remoting и asp.net. Как уже упоминалось, все, что ты делаешь-это аналог замка, держа в противном случае честные люди и ни что делает его труднее просто перекомпилировать приложение. Лицензирование обычно ключевое направление для большинства людей, и вы должны определенно использовать какую-то цифровую подпись, сертификат системы в любом случае лицензирования. Ваша самая большая потеря будет поступать из случайных обмен лицензий в случае, если у вас нет смарт-система, люди, которые ломают систему лицензирования не собирались покупать в первую очередь. Это очень легко принять это слишком далеко и оказывают негативное влияние на ваших клиентов и вашего бизнеса, делать то, что простая и разумная и потом не беспокоиться об этом.
...