Как создать зашифрованный файл Банки? [закрытый]

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

<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.6.15/browser-polyfill.min.js"></script>

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

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

Но теперь, когда мы дошли до этого, речь идет не о самом символе, а о символе, который не может быть распознано в IE?

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

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

Символ типа данных является примитивным типом данных.

17
задан Kartik Mistry 11 February 2009 в 16:47
поделиться

5 ответов

Создание зашифрованных БАНОК не возможно, так как выполняющийся JavaVM должен так или иначе смочь считать данные, которые он хочет выполнить. И подобный VM для любого с надлежащими инструментами и ноу-хау было бы возможно извлечь все данные из JAR.

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

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

22
ответ дан 30 November 2019 в 11:04
поделиться

Другая опция состояла бы в том, чтобы сделать пользовательскую JVM, которая дешифровала JAR на лету. Но та же проблема остается: в какой-то момент классы Java JAR должны быть дешифрованы, чтобы быть выполненными JVM, и в той точке они могут получаться и декомпилироваться.

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

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

Kosi2801 является в значительной степени правильным на. Единственная вещь я могу думать о Вас, могла сделать, следующее, но это ужасно.

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

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

, В то время как забава реализовать (для тех, кому нравится проблема) существует несколько проблем с этим:

  1. необходимо было бы смочь дешифровать материал, таким образом, пользователь должен будет или ввести пароль каждый раз или что-то подобное. Если JAR знает достаточно для дешифрования, это сам, то любой может посмотреть на него и выяснить, как дешифровать вещи. Это могло быть смягчено путем контакта с известным - хороший сервер по Интернету для просьбы ключ расшифровки (как долго, поскольку Вы делаете тот процесс безопасным). Конечно, это требует активного 'сетевого соединения любое время, кто-то хочет запустить программу.
  2. Все заканчивается в памяти . Без пользовательской JVM, которые обрабатывают крошечные биты зашифрованного кода байта (как упомянутый Cameron McKay) классы закончатся дешифрованное нахождение в оперативной памяти в какой-то момент. Если Вы не полагаетесь на ОС, чтобы препятствовать тому, чтобы другие люди читали ту память, Вы уже проиграли сражение любому с небольшим временем на их руках. Та же проблема для ресурсов (таких как изображения/шрифты/и т.д.), что Вы пытаетесь читать из некоторого зашифрованного хранилища.

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

защита программного обеспечения жестка, особенно в чем-то как Java, который может легко декомпилироваться и не может измениться, свой собственный код как C/Assembly мог. Существует причина, часть самого дорогого программного обеспечения там требует аппаратных аппаратных ключей или прибывает заблокированная в определенный ЦП или другие аппаратные средства.

8
ответ дан 30 November 2019 в 11:04
поделиться

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

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

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

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

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

Вы могли использовать CipherOutputStream и CipherInputStream для сериализации объектов Java к диску в зашифрованном формате. Это может опция открываться для того, чтобы сохранить данные.

1
ответ дан 30 November 2019 в 11:04
поделиться
Другие вопросы по тегам:

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