Как защитить программу от копирования?

135
15 мая 2019, 21:20

Делаю одному знакомому программу (лабораторную работу) для университета. Должен буду предоставить ему в том числе и исходники.

Так вот вопрос, что можно придумать, чтобы этот знакомый потом не продал/не отдал эту программу кому-нибудь другому и тот другой ее не сдал с таким же успехом. Навыков у этих людей немного, но, конечно, если просто написать в названии приложения и в верхнем баре фамилию, то это они все таки найдут в коде и запросто поменяют на свою.

Какую защиту и привязку к фамилии человека можно придумать поизощреннее?

Answer 1

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

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

albRnd imuges elgments coaditional coeverted innternal alkWebsite paorsing = bugaenko

или посложнее

web toURI pages images elements conditioned make problem

теперь остается только придумать определенные точки чтения (помещения) этой информации

Answer 2

Если требуется предоставить исходники, то о защите можно не говорить. Правда вы можете комментировать ваш код. С помощью аннотации javadoc @author. Такие аннотации редко удаляются, особенно если код приносит пользу.

READ ALSO
Литература по Java Maven [дубликат]

Литература по Java Maven [дубликат]

На данный вопрос уже ответили:

131
Парсинг json при помощи gson

Парсинг json при помощи gson

Есть вот такой json

162
Ошибка [INSTALL_CANCELED_BY_USER] на устройстве XiaomiNote5

Ошибка [INSTALL_CANCELED_BY_USER] на устройстве XiaomiNote5

В моем случае я нажал Запретить, во время первой установкиПоэтому я получил INSTALL_FAILED_USER_RESTRICTED

131
С чем связана ошибка (лог из PlayMarket ниже)

С чем связана ошибка (лог из PlayMarket ниже)

Ошибка возникла на устройстве Lenovo VIBE K10 (K10a40), Android 60

142