Я ищу метод или инструмент, который мы можем использовать для обфускации или защиты нашего скомпилированного кода C#. Цель не в безопасности пользователей / данных, а в том, чтобы помешать обратному проектированию некоторых технологий в нашем программном обеспечении.
Это не для использования в Интернете, а для настольного приложения.
Итак, знаете ли вы какие-либо инструменты, доступные для этого? (Они не должны быть бесплатными)
Какие последствия для производительности они имеют, если таковые имеются?
Есть ли какие-либо отрицательные побочные эффекты при использовании отладчика во время разработки?
Мы фиксируем следы проблем в полевых условиях. Как на это повлияет обфускация?





Существуют инструменты, которые также «деобфускируют» обфусцированные библиотеки DLL - я бы посоветовал превратить часть, которую необходимо защитить, в неуправляемый компонент.
В этот момент мы просто обратимся к деассемблерам, как они это делают для взлома защиты от копирования в компьютерных играх.
@Jonathan Allen: Это называется дизассемблером, а не деассемблером. Кстати, разбирать не нужно. У HexRays есть хороший C / C++ DECOMPILER (см. IDA Pro Advanced).
Это неплохой список обфускаторов от Visual Studio Marketplace Обфускаторы
Я не заметил никаких проблем с производительностью при обфускации моего кода. Если вы просто отправляете текстовые трассировки стека, у вас могут возникнуть проблемы с переводом имен методов.
Было бы неплохо иметь ссылки. Если будет возможность, не могли бы вы их добавить?
@newbieguy Я попытался использовать ConfuserEx, потому что он бесплатный и с открытым исходным кодом, но после обфускации моего exe-файла virustotal обнаружил его как вирус (когда я сканирую свой exe-файл, он не запутывается). Недопустимо.
Я не не согласен с вами, это правда, что почти любая антивирусная программа тоже его обнаруживает. Это потому, что многие люди используют ConfuserEx для обфускации своего вируса (извините за мой английский).
Это не проблема обфускатора. Это плохое антивирусное программное обеспечение, которое выдает ложные срабатывания. Если у вас есть программное обеспечение, которое защищено сильной защитой (это относится также к защищенному программному обеспечению C++), вы почти всегда будете получать ложные срабатывания антивирусного программного обеспечения. С другой стороны, антивирусное программное обеспечение не обнаруживает многие реальные угрозы. Так что я вообще не пользуюсь антивирусами. У меня нет инфекции десятилетиями. Антивирус делает ваш компьютер очень медленным, а степень обнаружения реальных угроз не превышает 80%. С другой стороны, эти ложные тревоги - отстой.
Вы зря тратите время, идя по этому пути. Если у вас есть код, который вы не хотите, чтобы кто-либо видел, вам нужно держать его за закрытыми дверями. Например, выполняйте этот код только на своем собственном сервере с помощью интерфейса веб-службы.
Обфускация кода отпугивает самых случайных людей. Поскольку индустрия видеоигр давным-давно перешла на нет, ни один код не застрахован от взлома.
Совершенно верно, что ни один из вариантов защиты не остановит самые решительные атаки. Это не означает «зря тратить время». Это сравнимо с предложением не запирать машину, когда вы выходите из нее, потому что опытный вор может взломать ее. Это все еще актив, который стоит защищать, и не пытаться защитить его по небрежности. Необходимо соблюдать баланс между защитой и раздражением клиентов и небольшими инвестициями в защиту от 99% скриптовых детей и злоумышленников.
Безопасность от несанкционированного использования «взломанной» копии - это не то же самое, что безопасность от обратного проектирования для извлечения кода для конкурирующего продукта. Если конкуренция требует улучшений и развития, возможно, обфускации будет достаточно для программ, которые уже являются сложными для предварительной обфускации.
Взломать видеоигру очень интересно взломщикам, поэтому в этом участвуют лучшие взломщики мира. Но мало кто способен перепроектировать ассемблерный код. Это делают очень опытные взломщики. Знаете ли вы, что даже экспертам антивирусных компаний требовалось несколько МЕСЯЦЕВ для анализа Stuxnet? Не следует думать, что у этих экспертов будет время и мотивация для взлома ВАШЕГО кода. Обычное приложение не так интересно, как видеоигра. Теоретически все можно взломать. Но каковы усилия и кто готов потратить столько времени на взлом ВАШЕГО приложения?
http://xheo.com/products/code-protection
Выполнял эту работу за меня в прошлом.
дубликат: stackoverflow.com/questions/2525/…