Пакет lubridate
как функция округления даты и времени, которая может округляться до произвольной единицы времени, например, 5 минут, 30 минут, а также пол и потолок. При этом вы сможете определить свои интервалы так же просто, как lubridate::round(date_time_greece, '5 minutes')
. Как и во всех операциях биннинга для анализа данных, обратите внимание на свои группы. То есть создает ли ваша группировка / биннинг много групп с одной точкой данных.
Пока все ваше приложение на стороне клиента, защитить его от взлома совершенно невозможно. Единственный способ защитить приложение от взлома - заставить его подключиться к серверу для работы (например, онлайн-игры).
И даже тогда я видел некоторые взломы, которые имитируют сервер и отправляют фиктивное подтверждение программы, так что она думает, что разговаривает с реальным, легальным сервером (в данном случае я говорю о стратегии проверки «позвони домой», а не об игре).
Также имейте в виду, что там, где есть это воля, есть способ. Если кто-то сильно хочет ваш продукт, он его получит. И, в конце концов, вы внедрите защиту, которая может вызвать осложнения у ваших честных клиентов и просто рассматривается как вызов взломщикам.
Кроме того,
Существуют сторонние инструменты для запутывания вашего кода. Visual Studio поставляется с одним.
НО, во-первых, вы должны серьезно подумать о том, почему вы беспокоитесь. Если ваше приложение достаточно хорошее и популярное, чтобы его можно было взломать, оно будет, несмотря на все ваши усилия.
Дело в том, что с кодом .NET сравнительно легко перепроектировать с помощью таких инструментов, как .NET Reflector . Запутывание кода может помочь, но все еще возможно работать.
Если вы хотите быстрое решение (но, конечно, нет никаких обещаний, что вы не будете взломаны - это просто «защита»), вы можете искать некоторые инструменты, такие как Themida или Star Force . Это обе знаменитые защитные оболочки.
Это действительно невозможно. Просто выпустите патч часто, а затем измените соль в вашем шифровании. Однако, если ваше программное обеспечение взломано, гордитесь, это должно быть действительно хорошо: -)
это почти как миссия невыполнима, если у вас очень мало клиентов.
просто подумайте - вы когда-нибудь видели версию Windows, которая не взломана?
Многие ответы, похоже, упускают из виду тот факт, что вопрос заключался в том, как сделать это сложнее, а не в том, как сделать это невозможным.
Обфускация - это первый критический шаг в этом процессе. Все, что будет дальше, будет слишком легко решить, если код не будет запутан.
После этого все зависит от того, чего вы пытаетесь избежать. Установка без лицензии? Взрыв на время? Увеличение использования программного обеспечения (например, на большем количестве процессоров) без дополнительной оплаты?
В современном мире виртуальных машин долгосрочная стратегия предотвращения взлома должна включать в себя некоторые вызовы из дома. Окружающая среда просто слишком легко сделать нетронутой. Тем не менее, некоторые типы программного обеспечения бесполезны, если вам нужно вернуться в первозданное состояние, чтобы использовать их. Если это ваш тип программного обеспечения, тогда есть довольно неясные места, чтобы поместить вещи в реестр, чтобы отследить запланированные испытания. И вообще схему лицензионного ключа, которую трудно подделать.
Однако следует помнить одну вещь - не слишком придумывайте. Довольно часто схема лицензирования получает наименьшее количество QA и сталкивается с серьезными проблемами в производстве, когда законные клиенты блокируются. Не отгоняйте реальных платящих клиентов из-за страха перед копированием со стороны людей, скорее всего, все равно не заплатили бы вам ни копейки.
Если вы изобрели способ защитить его, кто-то может изобрести способ его взломать. Потратьте достаточно усилий, чтобы, когда люди используют его «незаконным» образом, они знали об этом. Большинство вещей за пределами этого риска являются пустой тратой времени; o)
Here are some tips, not perfect but maybe could help:
unfortunately the more you spend on copy protecting your software the less you have to spend on functionality, all about balance.
another approach is to sell your software cheap but to do frequent, cheap upgrades/updates, that way it will not profitable to crack.