Как защитить Ваш программный код? [дубликат]

18
задан Community 23 May 2017 в 12:23
поделиться

13 ответов

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

Таким образом, гораздо более вероятно, что они посмотрят на ваше приложение и подумают: «Я мог бы сделать это», а затем «Это круто, я прочитаю этот код, а затем скопирую его!». Даже если они это поймут, вы все равно будете владеть авторскими правами, вы все равно попадете на рынок первым.

Я рекомендую вам просто забыть об этом.

24
ответ дан 30 November 2019 в 07:03
поделиться

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

Тот, кто хочет знать ваш код, узнает ваш код.

Если речь идет о денежных потерях, суды - ваша защита.

Вот как это работает.

3
ответ дан 30 November 2019 в 07:03
поделиться

Не существует 100% способа защитить ваш код от обратного проектирования. На каком языке мы говорим? Если это C / C ++, то реконструировать его довольно сложно, более того, вы можете удалить его из отладочной информации и т. Д. Но если это, например, Java, то даже если вы запутаете код, есть довольно интересные инструменты (например, JAD ), который в любом случае раскроет большую часть вашей работы.

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

1
ответ дан 30 November 2019 в 07:03
поделиться

Это бесполезно. Всегда есть кто-то умнее вас, и поэтому он сможет перепроектировать вашу обфускацию.

0
ответ дан 30 November 2019 в 07:03
поделиться

Я не юрист

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

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

Что касается обратной стороны , я предполагаю и, вероятно, на 90% прав, что ваш метод:

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

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

Удачи.

2
ответ дан 30 November 2019 в 07:03
поделиться

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

Хотя вы можете фактически продавать код, ценность, которую имеет ваш код, не присуща самому коду, а скорее вытекает из возможностей и экосистемы, которые окружают ваш код.

0
ответ дан 30 November 2019 в 07:03
поделиться

Кто-то всегда сможет понять и обработать ваш код. Черт возьми, если бы у вас было 0 способов добраться до кода, даже простого использования системы было бы достаточно, чтобы кто-то смог воспроизвести процесс.

Пример: я беру кувшин с водой и наливаю его в чашу, когда я смотрю спиной к другому человеку. Этот другой человек знает, что вода и гравитация великолепно заставляют предметы падать в другие контейнеры, поэтому он может затем разработать процесс подъема кувшина, чтобы гравитация (вызов API) работала в их пользу. Они могут не знать точно, какой угол вы использовали в предплечье и какие супер-хитрые техники удерживания чашки вы использовали, но они могут воспроизвести тот же процесс и со временем улучшить его.

tl; dr: Вы не можете защитить код.

2
ответ дан 30 November 2019 в 07:03
поделиться

Надо изобрести еще более чудесные вещи, в то время как конкуренты будут реконструировать ваши текущие вещи. Это называется конкуренция через инновации.

2
ответ дан 30 November 2019 в 07:03
поделиться

Даже не беспокойтесь. Если ваш код действительно «делает замечательные вещи», будьте уверены, что его взломают. И пусть это будет просто из любопытства.

1
ответ дан 30 November 2019 в 07:03
поделиться

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

Это совершенно неправильный образ мышления, IMO. Что будет, если вас сбьет автобус? Ваша компания обанкротится? Все ваши данные уничтожены в огне? Для каждого из ваших клиентов ценность их инвестиций в ваше программное обеспечение упадет и, в конечном итоге, достигнет нуля, потому что программное обеспечение не может быть разработано или устранено без вас. Я видел , что много денег было потрачено впустую, я думаю, что это ужасная бизнес-модель.

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

1
ответ дан 30 November 2019 в 07:03
поделиться

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

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

0
ответ дан 30 November 2019 в 07:03
поделиться

Они собираются перепроектировать ваш код. Ничто не может их остановить ... Единственное, что вы можете сделать - это усложнить задачу. Это варьируется от обфускации кода, который по наследству "открыт", такого как PHP и Javascript, до засорения вашего кода хренильным грузом самомодификации.

0
ответ дан 30 November 2019 в 07:03
поделиться

, когда кто-то взглянет на {{1} } кода они поймут его очень легко и могут легко создать его самостоятельно.

Так что не давайте никому исходный код.

Если я хочу продать этот продукт, гарантия того, что кто-то гораздо умнее меня перепроектирует все это и придумает {{1} } лучший продукт?

(a) Итак, начните продавать его сейчас и захватите рынок. Обратный инжиниринг требует времени, в течение которого вы захватываете рынок и «делитесь мыслями». (б) Включите в лицензионное соглашение положение, запрещающее обратное проектирование. (c) Убедитесь, что все, кто получает продукт, подписывают соглашение.

Прямо сейчас я думаю о фрагментации всего кода. Добавление большого количества избыточного кода и тонны комментариев.

Это имеет смысл только в том случае, если вы собираетесь распространять исходный код. В этом случае даже обратное проектирование не требуется. У них есть ваш исходный код. Не давайте им это.

Есть ли какое-нибудь программное обеспечение ...

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

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

5
ответ дан 30 November 2019 в 07:03
поделиться
Другие вопросы по тегам:

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