Действительно ли использование является obfuscator достаточно для обеспечения моего кода JavaScript?

Вам не нужно создавать Timestamp s. Вы можете сделать это с помощью Calendar.

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
calendar.set(Calendar.MINUTE, minute);

if(calendar.before(Calendar.getInstance())) {
    calendar.add(Calendar.DATE, 1);
}

alarmManager.set(AlarmManager.RTC_WAKEUP,
    calendar.getTimeInMillis(), pendingDinnerIntent);

Я бы также упомянул, что с KitKat, если ваш targetSdkVersion равен 19 или выше, метод AlarmManager#set() не является точным. Если вы хотите, чтобы ваш будильник срабатывал в определенное время, вам нужно использовать метод setExact*().

25
задан Jason Plank 15 March 2011 в 21:58
поделиться

8 ответов

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

Ваш исходный код не стоит красть.

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

Говорят, завтра, кто-то вывел груду DVD на Вашем пороге, содержащем исходный код для Windows Vista. Что Вы были бы в состоянии сделать с ним? Несомненно, Вы могли скомпилировать его и выдать копии, но это - всего один шаг больше усилия, чем копирование розничной версии. Вы могли кропотливо найти и удалить проверяющий лицензию код, но это - что-то, что некоторый яркий ребенок уже сделал к двоичным файлам. Замените логотип и графику, притворитесь запись его сами, и продайте его как "Vicrosoft Mista"? Вы будете пойманы.

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

В процессе Вы узнаете много о записи операционных систем, но это не собирается наносить ущерб Microsoft.

Замена "Vista" с "Leopard" и вышеупомянутыми абзацами не изменяется на один бит. Это не Microsoft, это программное обеспечение . Половина людей на этом сайте могла, вероятно, разработать клон Переполнения стека, с или не смотря на источник этого сайта. Они просто не имеют. Исходный код Firefox и WebKit там для любого для чтения. Теперь пойдите, пишут Ваш собственный браузер с нуля. Увидимся за несколько лет.

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

141
ответ дан UpTheCreek 28 November 2019 в 17:33
поделиться

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

Примером ситуации, подобной вашей, может быть Google Maps . Источник Javascript явно запутан. Однако для действительно частной / чувствительной логики они передают данные на сервер, и сервер обрабатывает эту информацию с помощью XMLHttpRequests (AJAX). Благодаря такой конструкции у вас есть важные части на стороне сервера, гораздо более жестко управляемые.

1
ответ дан Joseph Pecoraro 28 November 2019 в 17:33
поделиться

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

В прошлом я видел, что люди делают несколько вещей:

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

существует много других методов.

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

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

3
ответ дан Jason Plank 28 November 2019 в 17:33
поделиться

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

Просто нет способа скрыть код, написанный на Javascript, поскольку исходный код должен быть передан в браузер для исполнения.

Если вы хотите скрыть свой код, у вас есть следующие опции:

1) Используйте среду, в которой скомпилированный код (не исходный код) загружается на клиент, например, Вспышка или Silverlight. Я даже не уверен, что это надежно, но это, безусловно, намного лучше, чем Javascript.

2) Иметь серверную часть на стороне сервера, которая выполняет работу, и тонкий клиент, который просто делает запросы к серверу.

0
ответ дан 17 of 26 28 November 2019 в 17:33
поделиться

Это, вероятно, о лучшем, которое можно сделать. Просто знайте, что кто-либо с достаточным посвящением, может, вероятно, de-obfuscate Ваша программа. Просто удостоверьтесь, что Вы довольны этим перед осуществлением Вашего проекта. Я думаю, что самая большая проблема с этим состояла бы в том, чтобы управлять, кто использует ее на их сайте. Если кто-то переходит к сайту с Вашим кодом его и любит то, что это делает, не имеет значения, что они не понимают то, что код делает или не может считать его, когда они могут просто скопировать код и использовать его на их собственном сайте.

0
ответ дан Kibbee 28 November 2019 в 17:33
поделиться

Я сказал бы да, это достаточно, если Вы также удостоверяетесь, чем Вы сжимаете код также с помощью инструмента как Упаковщик Dean Edward или подобный. Если Вы думаете о том, что возможно с инструментами как Отражатель.NET с точки зрения инженерного анализа скомпилированного кода / IL в.NET, Вы понимаете, что нет ничего, что можно сделать для завершенной защиты инвестиций.

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

0
ответ дан Dylan 28 November 2019 в 17:33
поделиться

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

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

Если вы используете какой-либо другой язык, например, Java или .NET, вы можете попробовать сделать что-то вроде «звонка домой», чтобы убедиться, что номер лицензии соответствует данному URL. Это работает, если ваше приложение представляет собой какое-то онлайн-приложение, которое будет постоянно подключаться к Интернету. Но имея доступ к источнику, люди могут легко обойти эту часть.

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

0
ответ дан paan 28 November 2019 в 17:33
поделиться

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

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

0
ответ дан dwestbrook 28 November 2019 в 17:33
поделиться
Другие вопросы по тегам:

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