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