Сам проверка двоичных файлов?

В Python 3.x используйте это.

a = [int(x) for x in input().split()]

Пример

>>> a = [int(x) for x in input().split()]
3 4 5
>>> a
[3, 4, 5]
>>> 
8
задан Tetha 19 September 2008 в 06:09
поделиться

6 ответов

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

Встречные меры включают обнаружение отладчика API Отладчика прерывания или обнаружение 'единственного продвижения'. Можно ввести код, который после обнаружения взлома отладчика, продолжает функционировать, но начинает капризничать наугад несколько времен спустя в программе. Это - действительно кошка и игра мыши, и у взломщиков есть значительная власть.

Выезд... http://www.openrce.org/reference_library/anti_reversing - Часть из того, что там.

http://www.amazon.com/Reversing-Secrets-Engineering-Eldad-Eilam/dp/0764574817/ - Эта книга имеет действительно хорошую информацию об антиинвертировании и ступает через методы. Великолепное место, чтобы запуститься, если Вы получаете международное инвертирование в целом.

6
ответ дан 5 December 2019 в 17:43
поделиться

Я полагаю, что этими вещами обычно является больше проблемы, чем они стоят.

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

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

2
ответ дан 5 December 2019 в 17:43
поделиться

Существует технология TPM: tpm на Википедию

Это позволяет Вам хранить криптографические контрольные суммы двоичного файла на специальной микросхеме, которая могла действовать как односторонняя проверка.

Примечание: TPM имеет вид плохого рэпа, потому что он мог использоваться для DRM. Но экспертам в поле, это - вид несправедливых, и существует даже открытая-TPM группа, позволяющая управление пользователей Linux точно, как их микросхема TPM используется.

1
ответ дан 5 December 2019 в 17:43
поделиться

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

1
ответ дан 5 December 2019 в 17:43
поделиться

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

На самом деле это может быть достигнуто без специального оборудования. Рассмотрим наш генетический код. Он работает на основе физики этой вселенной. Мы пытаемся взломать его, создавать лекарства и т. Д., И у нас ничего не получается, обычно создавая массу нежелательных побочных эффектов, потому что мы еще не полностью реконструировали сложный «мир», в котором эволюционировал генетический «код». . В принципе, если вы Если все работает на общем процессоре (общий "мир"), к которому у каждого есть доступ, то написать такой безопасный код практически невозможно, о чем свидетельствует то, что текущее программное обеспечение так легко взломать.

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

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

Как будет выглядеть достаточно сложная программная платформа? Например, возможно, после каждых 6 операций сложения 7-е сложение возвращает результат, умноженный на PI, деленный на квадратный корень из логарифма модуля 5 разности общего количества операций вычитания и умножения, выполненных с момента инициализации системы. Платформа должна будет отслеживать эти числа независимо, как и сам код, чтобы декодировать правильные результаты. Итак, ваш код будет написан на основе знания сложного базового поведения платформы, которую вы спроектировали. Да, он бы сожрал циклы процессора, но кому-то придется перепроектировать это небольшое неожиданное поведение и перепроектировать его в любой новый код, чтобы он вел себя должным образом. Кроме того, ваш собственный код будет трудно изменить после написания, потому что он упадет до неснижаемой сложности, и каждая строка будет зависеть от всего, что произошло ранее. Конечно, в достаточно безопасной платформе было бы намного сложнее, но дело в том, что кто-то перепроектирует вашу платформу, прежде чем они смогут реконструировать и модифицировать ваш код без изнурительных побочных эффектов.

0
ответ дан 5 December 2019 в 17:43
поделиться

Отличная статья о защите от копирования и защите Как держать пиратов в страхе: Реализация защиты от взлома для Spyro: Year of the Dragon

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

0
ответ дан 5 December 2019 в 17:43
поделиться
Другие вопросы по тегам:

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