«Обфускация API», вероятно, означает изменение имен идентификаторов, таких как имена классов, имена методов, имена полей и т. Д., На очень неописательные имена.чтобы читатели вашего кода не знали, что делает ваш код.
Proguard - это такой инструмент. Здесь - это сообщение, которое я нашел и которое использует Proguard для запутывания частных методов в простом классе.Вы можете увидеть, как privateStaticMethod
превратился в a
, и как имена параметров превратились в paramString1
и paramString2
.
. Таким образом, читатели не будут знать, что a
делает толькоглядя, потому что a
буквально ничего им не говорит о том, что на самом деле делает метод.Методы, которые вызывает a
, могут быть также запутаны как b
или c
, что еще больше затрудняет понимание того, что делает ваш код.
Обратное проектирование здесь относится к попыткам выяснить, какЗапутанный код выглядел оригинально.Очевидно, что изменение имен методов и параметров затрудняет реинжиниринг, чем просто изменение потока управления и компоновки кода.