Нет. Обфускация просто заменяет ваш разумно названный код на ненадежный. В некоторых случаях (например, при использовании ProGuard, наш код может быть даже «оптимизирован» путем удаления всех бесполезных блоков кода (таких как if(false)
и операторы look-alike).
РЕДАКТИРОВАТЬ (для разъяснения идей Магеша).
При использовании обфускатора (а не запутывания вручную, что не является хорошей идеей), он загрузит ваши классы и встроит некоторые методы, или блоки кода (как вышеупомянутые if), чтобы упростить код для полученных больших блоков кода. , Как следствие, меньше вызовов методов, требующих меньшего использования стека и затем закрепляющих приложение.
Другая вещь, которую обфускатор обычно делает для переименования всех переменных с mySmartVariable
на a$a$a
, делает невозможной декомпиляцию (поскольку декомпилятор Java рассматривает $
как символ, используемый для идентификации внутренних и анонимных классов, а не переменные).