Является ли Kotlin сложнее, чем java

Я решаю, какой из них использовать для проекта Android Studio, и я готов использовать Kotlin. Если есть преимущество с точки зрения сложности реверсирования, чем java.

Нет. У Котлина таких намерений нет. В отличие от Scala или Groovy (и многих других более магических языков JVM), структура байткода Kotlin не слишком сложна, а значит, использование kotlin не имеет преимуществ перед простой Java, когда дело доходит до отказа от обратного проектирования.

Во всяком случае, вы не должны обращать на это внимание, если ваше приложение не содержит что-то магическое, например специальный метод для пропуска некоторых ограничений безопасности, использующих определенную ошибку в Android, специальный код, содержащий ваш закрытый ключ (что является плохой практикой) и т. Д. ,

Эта публикация, посвященная предотвращению обратной инженерии, может вас заинтересовать.


Off-Topic: Scala сложнее переделать, потому что Scala трудно понять. Его сгенерированный байт-код часто не имеет ничего общего с его исходным кодом. Я когда-то хочу объяснить, что происходит за всеми этими implicit и другими, но я только что нашел кучу беспорядка. (вы не должны использовать javap для понимания кода scala, у scala есть другие утилиты). И groovy – это потому, что это динамический язык, и в его байткоде есть много волшебства, чтобы сделать его динамичным . Я знал это, потому что я узнал, как работает скрипт построения градиента во время разработки плагина gradle. Я нашел полученный файл класса, но я даже не могу найти, где находится блок dependencies в его дизассемблированной форме.