Какой язык защитит мой исходный код?

Win + D , Win + R , Win + E , Win + (Firefox) 1

5
задан Pindatjuh 4 July 2010 в 15:28
поделиться

19 ответов

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

Например, я не слышал ни о каких успешных попытках реверс-инжиниринга Skype.

0
ответ дан 18 December 2019 в 05:11
поделиться

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

Например. см. этот исследовательский проект об обфускации кода Java.

0
ответ дан 18 December 2019 в 05:11
поделиться

Весь код можно прочитать обратно в сборке. Кто-то может перепроектировать ваше приложение и посмотреть, что делает машина.

0
ответ дан 18 December 2019 в 05:11
поделиться

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

Обычно главными подозреваемыми являются C, C ++, Delphi, VB6. Конечно, сборка тоже соответствует вашим критериям, хотя я сомневаюсь, что вы захотите написать на ней какой-нибудь проект приличного размера.

1
ответ дан 18 December 2019 в 05:11
поделиться

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

Или используйте C / C ++. Их можно разобрать, но это все.

Конечно, этого достаточно, чтобы не дать недостаточно компетентным участникам понять и перепроектировать код.

1
ответ дан 18 December 2019 в 05:11
поделиться

Как сказал Доминик, если вы можете запустить его, его можно декомпилировать.

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

Например, я считаю, что такие крупные компании, как Adobe и Microsoft, используют подобные продукты, чтобы людям было намного труднее разбирать и взламывать свои

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

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

1
ответ дан 18 December 2019 в 05:11
поделиться

"Я ищу то, что можно декомпилировать только в сборку. . "

Попробуйте написать свою программу на ассемблере. Это наилучшее возможное решение.

3
ответ дан 18 December 2019 в 05:11
поделиться

Разве это не логически невозможно?

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

7
ответ дан 18 December 2019 в 05:11
поделиться

Ни один язык не способен на такое, AFAIK ... поскольку это невозможно, поскольку его всегда можно реконструировать ... хотя многие разработчики будут плакать, если вы закодируете его в brainfvck.

4
ответ дан 18 December 2019 в 05:11
поделиться
  1. Как говорили другие, Delphi НЕ умирает.
  2. Как сказали другие, нет пуленепробиваемого метода.
  3. Как говорили другие, есть инструменты, которые значительно усложняют жизнь взломщику.

Но то, что другие не сделали » Сказать так:

  1. Обфускация Java, .NET (и т.д.) - это скорее игрушка по сравнению с игрушками обфускации, например. Delphi и другие нативные решения. (конечно, YMMV)
  2. Очень хорошую технологию относительно защиты вашего исполняемого файла можно найти здесь .
12
ответ дан 18 December 2019 в 05:11
поделиться

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

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

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

Наконец, каковы затраты / преимущества защиты вашего кода? Если вы напишете свою программу на ассемблере вместо C #, у вас могут быть гораздо более высокие производственные затраты, при уменьшении вероятности обратного проектирования. Однако перевешивает ли эта стоимость потенциальные потери продаж? Можно ли лучше потратить это время на добавление ценности людям, которые купят продукт? Как правило, попытки продать свой продукт людям, которые никогда не платят за программное обеспечение, не являются экономической стратегией.

19
ответ дан 18 December 2019 в 05:11
поделиться

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

Однако вы можете усложнить задачу, запустив свой код через обфускатор.

22
ответ дан 18 December 2019 в 05:11
поделиться

Повторяйте за мной: «Неизвестность - это не безопасность».

Вам лучше использовать алгоритм жесткого шифрования (где «жесткий» не означает «сложный», но «не двунаправленный; непросто обратимый ".

8
ответ дан 18 December 2019 в 05:11
поделиться

Очень просто:

Никакой язык программирования, никакая программа не может защитить ваше программное обеспечение. Software Cracker будет реверсировать ваше приложение до тех пор, пока оно не станет ассемблером, и взломает его.

1
ответ дан 18 December 2019 в 05:11
поделиться

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

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

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

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

Что касается ваших языковых параметров, возьмите добычу в это . Я не могу сказать, насколько он полон, но уверен, что некоторые другие могут добавить языки, о которых они думают.

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

Что касается ваших языковых параметров, возьмите добычу в это . Я не могу сказать, насколько он полон, но уверен, что некоторые другие могут добавить языки, о которых они думают.

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

Что касается ваших языковых параметров, возьмите добычу в это . Я не могу сказать, насколько он полон, но уверен, что некоторые другие могут добавить языки, о которых думают.

1
ответ дан 18 December 2019 в 05:11
поделиться

Вы можете написать это на Perl.

(Я шучу, я шучу! Положите вилы!)

13
ответ дан 18 December 2019 в 05:11
поделиться

Delphi не умирает, он жив-здоров.

Как и сообщество, на delphifeeds .
Вы также можете увидеть больше проектов delphi, бесплатных, условно-бесплатных и коммерческих программ на Delphi Wikia .

Таким образом, я бы сказал, что Delphi - очень хороший выбор для разработки программного обеспечения. Бесплатное, условно-бесплатное или коммерческое ПО.

Обновление: 1 сентября 2011 года Embarcadero выпустил Rad Studio XE2 . Этот выпуск добавляет 64-битную компиляцию, Livebindings, Native Mac OSX compilation, IOS (через XCode) и многое другое в и без того мощную среду delphi Dev.

30
ответ дан 18 December 2019 в 05:11
поделиться

Вы всегда можете записать его в APL. Вы можете доставить источник, но все равно никто не сможет его понять.

0
ответ дан 18 December 2019 в 05:11
поделиться

если вас действительно беспокоит, что люди дизассемблируют ваше программное обеспечение, сделайте ваше программное обеспечение как услугу (SaaS) http://en.wikipedia.org/wiki/Software_as_a_service

2
ответ дан 18 December 2019 в 05:11
поделиться
Другие вопросы по тегам:

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