Comments 5
При повторной сборке будет полное соотвествии прошлой сборке
Так в этом и смысл. Reproducible builds важная характеристика.
Еще интересно посмотреть на увелечение install size при использовании коротких словарей с длинными словами.
R8 is a java program shrinking and minification tool that converts java byte code to optimized dex code.
R8 — это минификатор, а не обфускатор. Замена имен классов на a, b, c — побочный эффект минификации.
В Windows есть запрещенные названия файлов и при попытке назвать так файл будет ошибка. Хорошая идея чтобы использовать такой словарь для названия классов, чтобы при попытке реверс инжиниринга привести к ошибке
Обходится одной галочкой в jadx. Да и более того, он из Kotlin-метаданных реальные имена классов восстановит.
Ожидал чего-то более интересного от статьи, если честно, хотя бы про ключ -repackageclasses
, который все классы скинет в одну кучу, ну или про proguard-android-optimize.txt
.
Прячем код по-настоящему: тёмные уголки обфускации R8 и ProGuard