"viewModel");
В теории, конечно. Просто написать процессинг байткода и матчить. На практике - не знаю. Возможно, есть флаг в компиляторе или фича в прогарде.
-assumenosideeffects в ProGuard, кажется, должен подойти
флаг в компиляторе убили
https://github.com/Miha-x64/Lychee/blob/master/samples/android-sample/proguard-rules.pro#L11-L22
Напишите, если это вам чем-то поможет. Тут была дискуссия на этот счет и вроде пришли к выходу, что ничего, кроме эстетического чувства, от этих проверок не страдает
лучшая обфускация получается, а так выходит что видны названия переменных
1. Одна-две наносекунды 2. Обфускация
а. Ну обфускация - это довод
за одну-две нс вообще пройдёт всего пара тактов
А оно разве не отимизируется даже андроидом? В общем, если есть ссылка на измерения - пишите
ну конечно оно заинлайнится и превратится в машинный код
нет, а зачем? Я же не утверждаю, что есть заметная разница в производительности
Тогда обфускация - единственный аргумент
нет, единственный аргумент — размер)
потому что все эти игры в бизапаснастб удорожают взлом на одну-две чашки чая
Ссылку на пруфы в студию :)
Для мотивированого взломщика - да. Но и куча мелкий препятствий помогают отсеивать различную школоту. Хотя я согласен с тем аспектом, что переоценивать такие средства не стоит.
Думаю, в контексте безопасности корректно говорить о модели взломщика. От кого и что защищаем? :)
Тьфу блин, я зашифрованное приложение расковыривал умелой расстановкой брейкпоинтов.
Вот именно. Защищать обычно совершенно нечего.
Как говорят, если есть Java-байткод - это почти open-source. :)
Я не совсем понял, при чём тут твоя статья, если она заканчивается ровно там, где начинается собственно построение маппинга для, собственно, дальнейшей работы с кодом.
Мы тут вроде не обсуждаем полезность обфускации|переименования символов в целом, мы конкретно о том, что если взять её как вводное, наличие оригинальных имён локальных переменных сводит на нет всё остальное.
А что нам нужно защитить от взлома?
Как обычно, взлом должен быть чуть-чуть дороже защиты + бенефитов от взлома, чтобы в нём не было целесообразности. Вырезание вышеуказанных интрисинков почти бесплатное (assumenosideffects), но при этом повышает стоимость взлома.
А это уже к @DrDrere вопрос.
Ну я согласен с этим. Просто добавил бы поверх, что не следует ожидать супер-результатов от таких действий.
Обсуждают сегодня