.NET декомпиляция, насколько это просто?

В El Capitan я получил ln: /usr/lib/libmysqlclient.18.dylib: Operation not permitted

В El Capitan /usr/lib/ теперь есть ограниченный флаг и не может быть записано без отключения безопасности, поэтому я просто поставлю ссылку в /usr/local/lib вместо .

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib

Сервер Rails снова работает отлично.

13
задан mdb 5 November 2008 в 14:48
поделиться

8 ответов

Попытайтесь открыть свое приложение с Отражатель . Вы будете, вероятно, удивлены:-)

И как только взломщик определил местоположение правильного местоположения в Вашем коде, они могут использовать комбинацию ildasm / ilasm для удаления проверки из приложения - даже если Отражатель кода генерирует, то не скомпилирует.

29
ответ дан Rasmus Faber 5 November 2008 в 14:48
поделиться
  • 1
    Я всегда рекомендовал бы, чтобы опция № 2 - дала Ваши ограничения , явные имена - делают ее намного легче, если необходимо отбросить их позже! – marc_s 3 March 2013 в 11:57

. СЕТЬ супер легко декомпилировать. Путаница сделает его немного тяжелее для понимания то, что продолжается, но кто-то декомпилирующий код может все еще понять его, если они являются персистентными.

Вот некоторый совет относительно защиты Вашего кода.NET, который я нашел онлайн:

http://blogs.msdn.com/ericgu/archive/2004/02/24/79236.aspx

Просто примечание, что ни один из обсужденных методов не является на 100% эффективным, его просто вопрос того, сколько обручей Вы заставите взломщика перейти через.

2
ответ дан Giovanni Galbo 5 November 2008 в 14:48
поделиться
  • 1
    Спасибо! I' ll принимают Ваш ответ из-за деталей и ссылки на другой ответ – tsimbalar 25 July 2013 в 13:08

Josh Smith также выпустил Crack.NET недавно, который может использоваться, чтобы присоединить к рабочему процессу.NET, и затем открыть это в Отражатель - поэтому, даже если блоки на диске будут зашифрованы так или иначе (для ухода от людей, использующих Отражатель для достигания их), они все еще будут в состоянии использовать версии в оперативной памяти

5
ответ дан Wilka 5 November 2008 в 14:48
поделиться

Если исходный код обычно компилировался, очень легко декомпилировать блоки.NET.

Вы могли использовать Отражатель.NET , первоначально разработанный Lutz Roeder, теперь поддерживаемым Redgate Software. Существует снимок экрана в нижней части этого ответа, который производит Вам впечатление, что делает Отражатель.

можно просмотреть пространства имен и классы и видеть исходный код и методы на любимом языке.NET. Denis Bauer FileDisassembler позволит Вам (или злые хакеры в Вашем случае) преобразовывать его в решение VS и делать модификации к программе.

существуют некоторые контрмеры как использование obfuscator кода для создания кода практически нечитабельным.

существуют некоторые другие интересные вопросы на StackOverflow об этой теме:

Снимок экрана от Отражателя:

alt text

14
ответ дан Glorfindel 5 November 2008 в 14:48
поделиться

. СЕТЕВАЯ компиляция в целом довольно легка: для получения ощущения этого самостоятельно просто захватите копию Отражатель.NET и дайте ему попытку.

В большинстве случаев, не будет никакой потребности перекомпилировать код для удаления простой проверки лицензий: просто исправляя MSIL добьется цели.

Защита себя против этого сценария приводит к быстро убывающей доходности: там будет всегда быть кем-то достаточно умным для обхода безотносительно дополнительных проверок, которые Вы добавляете к своему коду. Например, Вы могли добавить цифровую подпись к своему коду и отказаться к выполнению подписи, не соответствует (указание, что в код вмешались, например, для удаления проверки лицензий).

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

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

2
ответ дан mdb 5 November 2008 в 14:48
поделиться
  • 1
    Для фиксации это..., что я сделал, было, делают переслияние changeset и выбрал все changesets за исключением переименовывания. Это, казалось, проигнорировало необоснованное чувство, и мое слияние было успешно. – RiddlerDev 25 July 2013 в 18:00

Даже без Отражателя, люди делали это целую вечность. В основном Вы смотрите приложение с отладчиком - что-то как WinDBG сделает - и затем узнает, когда проверка лицензий произойдет. Вы наблюдаете возвращаемое значение, и затем Вы просто исправляете приложение для перехода непосредственно ко "всей хорошей" проверке.

я рекомендовал бы все, что люди отправили выше. Просто необходимо понять, что это - кошка и игра мыши, и если доход от инвестиций будет стоящим того. Если у Вас есть пользователи, которые не пытаются играть система, то что-то простое может сделать. Если у Вас есть что-то, где взламывание является необузданным, то необходимо будет посмотреть на различные стратегии и пойти оттуда.

Вы не должны перекомпилировать приложение для исправления его - много двоичных инструментов патча существует там. И это не остановит Ваших самых решительных взломщиков, если будет достаточно денег, которые будут сделаны.

1
ответ дан Cory Foy 5 November 2008 в 14:48
поделиться

Если это - что-то, от чего Вы надеетесь защищать, можно хотеть читать о том, как напасть на него.

Exploiting Software Greg Holland & Gary McGraw является превосходным введением.

2
ответ дан Gavin Miller 5 November 2008 в 14:48
поделиться
  • 1
    @RiddlerDev, это - хорошая идея. Unfortunatly та опция wasn' t доступный мне, поскольку слияния, которые смешали все (включая необоснованное) были уже сделаны. Плюс структура папок в целевом ответвлении был реорганизован так... много боли. – James Reed 26 July 2013 в 09:27

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

Eric Sink записал, что хорошая статья, отвечающая на этот вопрос, видит раздел "4. Не Раздражайте Честных Людей" из "Принципы Прозрачности"

2
ответ дан Eclipse 5 November 2008 в 14:48
поделиться
  • 1
    Спасибо! удачный я didn' t делают это тогда:) – tsimbalar 25 July 2013 в 13:07
Другие вопросы по тегам:

Похожие вопросы: