【发布时间】:2023-04-09 02:12:02
【问题描述】:
众所周知,Android 应用程序是用 Java 编写的。在 Java 中,无论是 what you do,都无法保护编译后的代码免于反编译或逆向工程,正如 Stack Overflow 问题 How to lock compiled Java classes to prevent decompilation? 所暗示的那样。
如何保护包含算法商业机密的应用免遭逆向工程?
我所说的“如何”不仅是指软件技术,还包括其他创造性方法。
【问题讨论】:
-
Android 应用程序可以“用 Java 编写”作为源代码,但它们不是作为 Java 字节码分发 - 它们是作为 DEX(Dalvik EXecutable)文件分发的。有针对 DEX 文件的反汇编程序可以生成“类似汇编”的代码,但据我所知,没有办法将 DEX“反编译”为 Java 源代码。
-
Nate,这是一个很棒的评论和非常有用的信息。如果这是一个正确的解决方案,请将其作为答案发布,我会很乐意将其作为“答案”接受。同时,我发现以下线程表明即使是 DEX 文件也可以反编译成 Java 源代码:stackoverflow.com/questions/1249973/… -- 这是真的吗?
标签: java android reverse-engineering decompiling