Реальный мир использует для [закрытой] путаницы

Ни один из этих ответов не работал для меня. Моя проблема вызвана JUnit и Hamcrest. См. Также java.lang.IllegalArgumentException: уже добавлено: Lorg / hamcrest / BaseDescription; Преобразование в формат Dalvik не удалось с ошибкой 1

10
задан 3 revs, 2 users 71% 22 July 2009 в 23:49
поделиться

15 ответов

  • затрудняет кражу интеллектуальной собственности
  • безопасность за счет скрытия
  • минимизация пропускной способности, в таких случаях, как javascript minify
7
ответ дан 3 December 2019 в 13:25
поделиться

Он замедляет (но не останавливает те, которые определены) от обратного проектирования вашего кода.

9
ответ дан 3 December 2019 в 13:25
поделиться

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

Впервые я столкнулся с обфускацией в первые дни Unix, когда большинство C программы приходилось доставлять в исходной форме из-за обилия различных архитектур ЦП и отсутствия умных компоновщиков или общих форматов объектных файлов.

С появлением интерпретируемых языков запутывание теперь, вероятно, больше, чем когда-либо, используется для коммерческого программного обеспечения

. 1125078]

0
ответ дан 3 December 2019 в 13:25
поделиться

Я использовал обфускацию кода в реальном проекте . Я разработал корпоративное программное обеспечение (сервлеты Java). В сервлетах скомпилированные классы ДОЛЖНЫ находиться на сервере для работы (файлы WAR / JAR). В большинстве случаев они размещаются на серверах, которые я могу а) контролировать или б) доверять операторам.

Однако один клиент настоял на том, чтобы приложение размещалось на ИХ сервере для использования в «интрасети». Поскольку у клиента была история «менее звездной» этики, я принял меры предосторожности и сначала запустил скомпилированную Java через обфускатор. Я также довольно хорошо протестировал результат, чтобы убедиться, что декомпилированный код в значительной степени непригоден для использования.

Вы можете спросить: «Зачем иметь дело с таким клиентом?», но общий маркетинг этого конкретного приложения был вне моего контроля, хотя никаких проблем с безопасностью не было. Это было лучшее компромиссное решение для частного случая

Cheers,

-R

0
ответ дан 3 December 2019 в 13:25
поделиться

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

Второстепенным, хотя и важным, преимуществом является уменьшение размера скрипта.

0
ответ дан 3 December 2019 в 13:25
поделиться

Наиболее важное использование - уменьшение размера. Я всегда использую его в Javascript и в Java-приложениях для мобильных телефонов (j2me).

Некоторые обфускаторы также могут выполнять небольшую оптимизацию.

1
ответ дан 3 December 2019 в 13:25
поделиться

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

1
ответ дан 3 December 2019 в 13:25
поделиться
  1. Это может замедлить злонамеренных хакеров, пытающихся пиратским способом или иным образом модифицировать ваше программное обеспечение несанкционированным или нежелательным образом. Не сильно, но если вы беспокоитесь о дате выпуска на улице, несколько дней или часов могут иметь значение.

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

1
ответ дан 3 December 2019 в 13:25
поделиться

Прочтите здесь

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

3
ответ дан 3 December 2019 в 13:25
поделиться

Допустим, у вас есть контракт с компанией на производство некоторого программного обеспечения. С ними сложно работать, и они фактически превратили вашу жизнь в ад. Часть контракта гласит, что после завершения проекта вы должны передать весь исходный код ...: D

5
ответ дан 3 December 2019 в 13:25
поделиться

Обфускация кода стала популярной примерно в то время, когда был впервые выпущен Perl. Это действительно был артефакт повышения эффективности кода. В те давние времена между устоявшимся сообществом программистов «c» и сторонниками «ренегата» Perl шла своего рода пламенная война. Ребята из старой школы c явно превзошли ребят из Perl по производительности. В ответ перлеры (?) Начали придумывать хаки производительности без оглядки на читаемость. Следовательно, обфускация. В этом, конечно же, больше нет необходимости, так как перлеры (?) Давным-давно уступили в исполнении the c'ers (мило, да?). Обфускация НИКОГДА не использовалась в целях безопасности, которые я видел. Фактически, если вы предложите это в качестве меры безопасности, люди высмеют вас из комнаты. Хакеры, пытающиеся обойти систему безопасности, в целом очень хорошо осведомлены о языках и наборах инструментов, на которые они нацелены. Вот что делает их такими успешными. Обфускация ни в коем случае не является защитой от них.

6
ответ дан 3 December 2019 в 13:25
поделиться

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

Когда вы являетесь новый сайт, может быть важно победить толпу "я тоже".

Но предотвращение слабое и не стоит тратить время ИМХО.

1
ответ дан 3 December 2019 в 13:25
поделиться

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

1
ответ дан 3 December 2019 в 13:25
поделиться

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

0
ответ дан 3 December 2019 в 13:25
поделиться
Другие вопросы по тегам:

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