В 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 снова работает отлично.
Попытайтесь открыть свое приложение с Отражатель . Вы будете, вероятно, удивлены:-)
И как только взломщик определил местоположение правильного местоположения в Вашем коде, они могут использовать комбинацию ildasm / ilasm для удаления проверки из приложения - даже если Отражатель кода генерирует, то не скомпилирует.
. СЕТЬ супер легко декомпилировать. Путаница сделает его немного тяжелее для понимания то, что продолжается, но кто-то декомпилирующий код может все еще понять его, если они являются персистентными.
Вот некоторый совет относительно защиты Вашего кода.NET, который я нашел онлайн:
http://blogs.msdn.com/ericgu/archive/2004/02/24/79236.aspx
Просто примечание, что ни один из обсужденных методов не является на 100% эффективным, его просто вопрос того, сколько обручей Вы заставите взломщика перейти через.
Josh Smith также выпустил Crack.NET недавно, который может использоваться, чтобы присоединить к рабочему процессу.NET, и затем открыть это в Отражатель - поэтому, даже если блоки на диске будут зашифрованы так или иначе (для ухода от людей, использующих Отражатель для достигания их), они все еще будут в состоянии использовать версии в оперативной памяти
Если исходный код обычно компилировался, очень легко декомпилировать блоки.NET.
Вы могли использовать Отражатель.NET , первоначально разработанный Lutz Roeder, теперь поддерживаемым Redgate Software. Существует снимок экрана в нижней части этого ответа, который производит Вам впечатление, что делает Отражатель.
можно просмотреть пространства имен и классы и видеть исходный код и методы на любимом языке.NET. Denis Bauer FileDisassembler позволит Вам (или злые хакеры в Вашем случае) преобразовывать его в решение VS и делать модификации к программе.
существуют некоторые контрмеры как использование obfuscator кода для создания кода практически нечитабельным.
существуют некоторые другие интересные вопросы на StackOverflow об этой теме:
Снимок экрана от Отражателя:
. СЕТЕВАЯ компиляция в целом довольно легка: для получения ощущения этого самостоятельно просто захватите копию Отражатель.NET и дайте ему попытку.
В большинстве случаев, не будет никакой потребности перекомпилировать код для удаления простой проверки лицензий: просто исправляя MSIL добьется цели.
Защита себя против этого сценария приводит к быстро убывающей доходности: там будет всегда быть кем-то достаточно умным для обхода безотносительно дополнительных проверок, которые Вы добавляете к своему коду. Например, Вы могли добавить цифровую подпись к своему коду и отказаться к выполнению подписи, не соответствует (указание, что в код вмешались, например, для удаления проверки лицензий).
игра тогда становится для удаления проверки подписи (в дополнение к проверке лицензионного ключа). Таким образом, Вы добавляете другую проверку, которая может тогда быть обойдена, и так далее, до бесконечности.
существует целая индустрия obfuscatation кода и защита от копирования инструменты, чтобы помочь Вам защитить свое программное обеспечение от проблем как это. Вам решать, если дополнительное усилие на Вашей стороне и раздражение, Вы вызовете своих законных клиентов, стоит вложиться в эти решения...
Даже без Отражателя, люди делали это целую вечность. В основном Вы смотрите приложение с отладчиком - что-то как WinDBG сделает - и затем узнает, когда проверка лицензий произойдет. Вы наблюдаете возвращаемое значение, и затем Вы просто исправляете приложение для перехода непосредственно ко "всей хорошей" проверке.
я рекомендовал бы все, что люди отправили выше. Просто необходимо понять, что это - кошка и игра мыши, и если доход от инвестиций будет стоящим того. Если у Вас есть пользователи, которые не пытаются играть система, то что-то простое может сделать. Если у Вас есть что-то, где взламывание является необузданным, то необходимо будет посмотреть на различные стратегии и пойти оттуда.
Вы не должны перекомпилировать приложение для исправления его - много двоичных инструментов патча существует там. И это не остановит Ваших самых решительных взломщиков, если будет достаточно денег, которые будут сделаны.
Если это - что-то, от чего Вы надеетесь защищать, можно хотеть читать о том, как напасть на него.
Exploiting Software Greg Holland & Gary McGraw является превосходным введением.
Лучше не пойти за борт на технологии ключа лицензии. Независимо от того, что Вы делаете может быть взломан решительным пользователем, и Вы рискуете добавления проблем, которые останавливают законных пользователей, использующих Ваше приложение. Я даже видел код, который был защищен с , Аппаратные ключи Запора взламываются. Шифрования Вашего ключа лицензии и запутывания Вашего кода должно быть достаточно для препятствия оппортунистическим нападениям, существует мало точки, идущей кроме того.
Eric Sink записал, что хорошая статья, отвечающая на этот вопрос, видит раздел "4. Не Раздражайте Честных Людей" из "Принципы Прозрачности"