Changelog

1.3-beta-hotfix

  • Исправлено падение при использовании значения конфигурации remapper.redirect_main и обфускации классов, которые находятся в неименованном пакете.

1.3-beta

  • Теперь Paramorphism изменяет значение атрибута Main-Class находящегося в манифесте JAR файла, в его переназначенное при ремаппинге местоположение. Это означает, что Main класс больше не нужно включать в mask.remapper.exclude. Данную возможность моно отключить, установив значение конфигурации remapper.redirect_main в false.
  • Исправлена ​​проблема при использовании Анти-Декомпрессии в сочетании с обфусцированным значением Main-Class.

1.2-beta

  • Исправлена ​​ошибка, при которой директории библиотек не регистрировались под Windows.
  • Добавьте значение конфигурации name_generation.shuffle, чтобы включить перемешивание словарей генерации имен.
name_generation:
  shuffle: false # Отключить перемешивание

1.1-beta-hotfix

  • Исправлено исключение VerifyError при запуске JAR-файла, который подвегся ремаппингу с использованием словаря и установленным обесцениванием (на самом деле это произошло как раз с самим Paramorphism).
  • Исправлено потенциальное нарушение доступа при использовании стратегий 'Method Call Indirection' (Переадресация вызова метода) или 'Field Access Indirection' (Переадресация доступа к полю).

1.1-beta

  • Словари генерации имен теперь определяются так же, как префиксы и суффиксы.
# Старые:
name_generation:
  dictionaries:
    - alphabet
    - classes
    - alphabet
    - alphabet

# Новые:
name_generation:
  dictionaries:
    all: alphabet
    classes: enterprise
  • Hotfix: Методы в классах с аннотациями больше не переопределяются.
  • Детерминированное (предопределенное) случайное начальное число (random seed), может быть изменено с помощью записи конфигурации random_offset.
  • Словари для генерации имен теперь могут перемешиваться. Возможность отключить данный функционал появится в версии 1.2-beta.
  • Проверка обновлений была слегка подправлена.
  • Существует новая стратегия: 'Field Access Indirection', которая скрывает поля чтения/записи во внешние классы.

1.0-beta

В данный версии приложение было полностью переписано. Обновление с версии b0.14 до 1.0-beta не рекомендуется, пока документация не будет обновлена.

  • Ремаппинг стал намного надежнее - Почти все приложения, которые не используют функцию рефлексии, теперь могут быть обфусцированны без ущерба для работы.
  • Система нумерации версий была изменена из b0.x в 1.x-beta.
  • Теперь к библиотекам можно обращаться с помощью спецификаторов maven.
  • Стратегии обфускации теперь могут иметь индивидуальные маски элементов.
  • Генерация имен сопоставления теперь поддерживает глобальные префиксы и суффиксы для каждого типа элемента.
  • Поддержка пользовательских словарей временно удалена.