转换。Java 文件到 。斯玛利文件

2022-09-02 02:56:27

我用APKTool对一个Android应用程序进行了逆向工程,并得到了.Smali 文件作为源代码输出。我转换了.Smali 文件,其中包含一个应用程序到 。Java 文件。我能够成功编辑.Java文件,但现在我想将它们转换回.Smali,所以我可以用新的.斯玛利文件。当我刚离开.Java文件在那里,它不会重新编译它并给出一些错误。我找不到任何关于编译.Java 到 .Smali在互联网上,所以我希望你们能帮助我。

提前感谢您。


答案 1

您可以使用普通的java编译器编译java类,然后使用Android的“dx”实用程序将编译.class文件转换为dex文件。然后在dex文件上运行baksmali以生成smali文件。

例如,假设您在名为“HelloWorld.java”的java文件中具有以下代码:

public class HelloWorld {
    public static void main(String[] args) {
         System.out.println("Hello World!");
    }
}

要将其转换为 smali,请执行以下操作:

javac HelloWorld.java
dx --dex --output=classes.dex HelloWorld.class
baksmali d classes.dex

答案 2

尝试java2smali:https://github.com/ollide/intellij-java2smali

它是一个用于将Java转换为Smali的应用程序。


推荐