java - Kotlin 比 java 更难逆向工程吗

标签 java android security kotlin

我正在决定将哪一个用于 Android Studio 项目,并且我愿意使用 Kotlin。如果在逆向工程方面比 java 有优势。

最佳答案

没有。 Kotlin 没有这样的 Intent 。与 Scala 或 Groovy(以及许多其他神奇 JVM 语言)不同,Kotlin 的字节码结构并不太复杂,这意味着在避免逆向工程方面,使用 kotlin 与普通 Java 相比没有优势。

无论如何,除非您的应用程序包含一些神奇的东西,否则您不应该注意这一点,例如一种利用某个 android 漏洞跳过某些安全约束的特殊方法、包含您的私钥的特殊代码(这是不好的做法)等。

这个 SO post避免逆向工程可能会让您感兴趣。


题外话:Scala 更难逆向工程,因为 Scala 难以理解。它生成的字节码通常与其源代码没有任何共同之处。我曾经想解释所有这些 implicit 和其他的背后发生了什么,但我发现一堆乱七八糟的东西。 (你不应该使用 javap 来理解 scala 代码,scala 有其他实用程序)而且 groovy 是因为它是一种动态语言,它的字节码形式有很多魔力,只是为了使它动态。我知道这一点是因为我去发现我的 gradle 构建脚本在开发 gradle 插件的过程中是如何工作的。我确实找到了生成的类文件,但我什至找不到 dependencies block 在其反汇编形式中的位置。

关于java - Kotlin 比 java 更难逆向工程吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44172130/

相关文章:

java - 解析具有迄今为止整数值的字符串

java - 具有不同 List 参数的方法

android - 如何在 Android 中获取 Google+ 好友

android - 文字转语音 (TTS)

security - 沙盒操作系统

java - 系统托盘 displayMessage() 不显示

java - 派生查询不适用于 DBRef

java - 不同java计算的舍入结果

security - 将域的网站站点/登陆重定向到其他地方?

java - 寻找使用 servlet 和 JSP 的简单、安全的 session 设计