Как стать автором
Обновить
24
0
Александр @IOException

Пользователь

Отправить сообщение
MBA 13" mid 2012
LP133WP1-TJA7
Проблем нет.
Хотелось бы статистики, сколько ТП утопило свои айфоны?))
Ооо, не обратил внимания на автора :) Привет-привет) Но я бы и не относил это к недостаткам, эти переменные и незачем финализировать.
Когда-то еще давно сам реализовал для своего проекта подобную систему
Скриншот

И к слову о недостатках, разве при помощи рефлексии нельзя изменить значение финализированного поля?

   static void setFinalStatic(Field field, Object newValue) throws Exception {
      field.setAccessible(true);

      Field modifiersField = Field.class.getDeclaredField("modifiers");
      modifiersField.setAccessible(true);
      modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);

      field.set(null, newValue);
   }
Да ладно вам, давно на прилавки сайты интернет-магазинов заглядывали? Цена за гигабайт за последние года 2 упала очень сильно.
Привет, вселенная Star Trek! Удивился кстати, почему в статье не упомянули ни ионный двигатель, уже реально работающий, в принципе, ни варп-двигатель, возможный в теории.
Очень понравилось! НЛО стоит обратить внимание.
Перевод однозначно нужен!
Автор, где учился? Я 4 года отучился в Гнесинке, пишу на java. Вроде неплохо знаю гармонию. Какова цель программы?
И мне ссылочку, если можно
Где Вы тут видите перевод туториала? А в чем понт написано в самом начале статьи, прочтите внимательнее.
В немного измененной версии защиты я запретил запуск с не-oracle JVM. Тем более, что этот метод (а точнее, уже существующая утилита) делает это намного быстрее, проще и удобнее.

И по поводу блокирования подключения агента. Один мой знакомый колдовал над усовершенствованием данной защиты, сказал, что в нативной части запретил подключения агента. Не знаю, как и что он там делал, но утилита беспрепятственно сдампила все классы приложения без остатка.
Поразительное удобство. А с остальным что делать?
И я бы не сказал, что защита куцая. Минусы обфускаторов налицо — снижение производительности, слабый thread-safe, сложности с диагностикой ошибок на конечном релизе.
Типа у вас вскочил NPE в методе s_$aa012q43 класса QClassQ123. Офигенно понятно.

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

Есть решения с отличной криптостойкостью, они вообще не передают байткод клиенту, а исполняют все по RMI/CORBA. Т.е. у клиента — скелетоны, а серванты с кодом — на сервере разработчика.
Сам пользуюсь yGuard, если нормально настроить, он обеспечивает приемлемую степень защиты. И zelix, как по мне — один из самых лучших, но он платный.
Почему именно proguard? Это далеко не лучший обфускатор для java. Но целью ставилось обойти именно эту защиту, а работа с обфусцированными классами это уже вообще другая история.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность