Извините, если Ваши пользователи будут savy достаточно для подделки в файлы класса, то они удалят функции проверки подписи первая вещь. Я соглашаюсь с путаницей, но разве хороший obfuscator не должен сохранять некоторый словарь для преобразования запутываемого отслеживания стека для Вас?
Это обсуждение действительно старо, и действительно действительно сложное. Только посмотрите на игровую индустрию. Возможно, необходимо ли рассмотреть поставку гитары с приложением?
Объедините эти два, и у Вас должны быть хорошие совместные действия.
Мы в настоящее время используем obfuscator, который обеспечивает разумную защиту против нападения. Тот, который мы используем прямо сейчас, обеспечивает инструмент отслеживания стека, который будет de-obfuscate их, когда они выйдут другой конец (основанный на файле журнала, сгенерированном во время путаницы).
Даже с этим, нет никакой реальной защиты от решительного хакера.
Можно изолировать банку. посмотрите ссылки ниже для деталей
-- http://java.sun.com/docs/books/tutorial/deployment/jar/sealman.html
java.sun.com/developer/JDCTechTips/2001/tt0130.html
Это - правовая проблема, не программная проблема.
Можно сделать более трудным для первого пользователя, который сделает копию, но не невозможной. И после того как решительный взломщик повредил Вашу безопасность, он может сделать неограниченное количество копий для ленивого.
Если Вы думаете, что это является прибыльным, преследуйте по суду людей, которые делают нелицензированные копии Вашего программного обеспечения.
Я верю части пользователей, которые сознательно украдут Ваше программное обеспечение (или, в более общем плане, интеллектуальная собственность) меняется в зависимости от типа медиа, и для большинства продуктов, является относительно маленьким. Если Вы продаете T-боли MP3, воровство могло бы уничтожить Ваш бизнес. Иначе примите позицию компаний по выпуску кредитных карт, которые ожидают терпеть некоторые потери из-за мошенничества, но все еще получать прибыль.