Вопрос

Я пытаюсь усложнить код, используя Objective-C на Mac.

Одна из вещей, которые я должен сделать, - это проверить, было ли приложение взломано.

Я новичок в Objective-C и Xcode, и какой бы я ни представлял, чтобы проверить свое приложение, я всегда заканчиваю базовым тестом, который можно легко исправить.

Например: предположим, что я собираюсь проверить наличие заданного значения в определенной части бинарника. Эта операция будет чем -то вроде:

"Это значение = x?" Если нет, это треснут.

Это очень легко взломать. Хакер может легко исправить тест и всегда быть правдой.

Я пытаюсь представить что -то, что могло бы что -то проверить, не появившись как тест, который можно легко исправить.

Я знаю, что не могу остановить 100% пиратство, но, по крайней мере, я пытаюсь сделать вещи более сложными, чтобы отговорить большую часть крекеров.

Любые идеи о том, как подобные вещи могут быть сделаны без того, чтобы кто -то сложно, чтобы кто -то смотрел на бинар?

Спасибо за помощь.

Это было полезно?

Решение

Закончите им оценить вашу схему и регулярно менять свою схему. Примером учебника является выполнение проверки с нечетными интервалами, которые будут затратывать для них, чтобы найти источники ваших чеков и все перекрестные ссылки во время выполнения оценки лицензии. Объедините это с несколькими проверками, и вы должны быть установлены для большинства выпусков, просто добавьте хорошую дозу творчества при создании вашей схемы. Кроме того, это немного весело играть в свою игру; Чтобы заставить их выпустить трещину, которая терпит неудачу через 1 месяц после публикации трещины ... хорошо, это может просто иметь неприятные последствия для вас, но если вы изо всех сил пытаетесь сразиться с ними в первую очередь ...

Это интересное сообщество; Если вы новичок в этом, изучение сообществ также будет полезно. Как упоминалось ранее, трещины случаются для вызова, некоторые версии продукта упростит свою схему защиты копирования для «бесплатной рекламы». Так что ... вы не можете действительно бороться с трещинами, потому что, если кто -то решит, это просто тратит ваше время и расстроит вас. Наблюдать за культурой может быть интересным. Вы, вероятно, находитесь в лучшем положении, если вы признаете, что его взломанное равняется «популярному программному обеспечению», и поэтому вы должны быть счастливы. Как правило, вы не должны потерять много сна из -за этого (хотя есть, конечно, исключения из этого). Кроме того, поскольку этот вопрос указан в категории MAC: я не собираюсь выкапывать статистику, но ваше программное обеспечение с меньшей вероятностью получит внимание от крекеров, если вы нацеливаете OS X.

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

Другие советы

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

Организации редко используют треснувшее программное обеспечение из -за юридических проблем, когда домашние пользователи, которые случайны, не любят тратить 100 долларов на использование программного обеспечения время от времени.

Это забрало бы мотивацию крекеров, чтобы взломать программное обеспечение.

Не. Помните, (хорошие) крекеры Crack Software для развлечения. Чем более сложная ваша схема защиты, тем сложнее и весело будет для взломщика. Кроме того, люди, которые, вероятно, будут незаконно использовать ваше программное обеспечение, все равно не будут платить за него, даже если они не могут получить потрескавшуюся версию. Ваше время будет лучше потратить на то, чтобы сделать ваш продукт лучше.

Сказав это, вы можете сдерживать большинство любительских крекеров, сняв свой исполняемый файл отладки символов. Вам придется включить это в предпочтениях проекта.

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

Одна опасность заключается в том, что если вы пойдете на слишком большую длину, вы можете в конечном итоге нарушать вещи для законных пользователей. У ряда аркадных машин Атари в 1980 -х годах был код, который будет делать различные интересные вещи, если бы он обнаружил, что ПЗУ был изменен. Эффекты были бы тонкими; Например, игра под названием Tempest наградит неограниченные бесплатные игры, если игра закончится, когда у игрока были определенные значения счета. Однако при выпуске ROM Tempest контрольная сумма была рассчитана неправильно, поэтому все машины имели такое поведение. Я не уверен, в какой степени эта ошибка затронула доходы на полевых машинах, но я предполагаю, что некоторые операторы были бы довольно расстроены, обнаружив ее.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top