Как пропустить "[ОШИБКА] Только конечные поля могут иметь начальное значение!" используя java запутывание через Allatori obfuscator? - PullRequest
1 голос
/ 12 марта 2020

Я использую Allatori obfuscator для java файла jar, он хорошо работает, когда во время объявления нет инициализированной переменной, но если есть только переменная, которая инициализируется, а не final, генерирует исключение:

[ERROR] Only final fields may have an initial value!

Что я должен сделать, чтобы пропустить это исключение, потому что я не хочу деинициализировать свои переменные?

Любые предложения, пожалуйста

1 Ответ

0 голосов
/ 12 марта 2020

Это, как сообщается, было признано поставщиком Allatori (Smarde c In c) как ошибка. Махмуд М. Хаммад заявляет следующее в своей докторской диссертации Самозащита Android систем от межкомпонентных атак связи 2018.

"Например, Аллатори поднял это исключение «Com.allatori.IiIIIIiiii: только конечные поля могут иметь начальное значение!» во многих приложениях. Мы связались с поставщиком Allatori по поводу этого исключения, который сообщил нам, что об этой проблеме сообщали другие пользователи, но она не может быть воспроизведена. Следовательно, мы помогли им воспроизвести ее, чтобы улучшить свой продукт. Они сообщили нам, что это исключение в основном вызвано использованием dex2jar, хотя исправление для исключения все еще находится в процессе. "

Я не видел упоминания о конкретной c версии Allatori в тезисе Хаммада, но есть большая вероятность, что ошибка была исправлена ​​в последней версии. Убедитесь, что вы используете актуальную версию инструмента. Вы также можете связаться с продавцом по этому поводу 1 .

Как пропустить ошибку?

Не думаю, что вы можете.


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

...