1. 创建任意java文件(以Hello.java为例)
public class Hello {
private static String HELLO_WORLD = "Hello World!";
public static void main(String[] args) {
System.out.println(HELLO_WORLD);
}
}
2. 将java文件生成.class文件
执行 javac Hello.java
生成 Hello.class
3. 通过 dx 工具 生成 *.dex 文件
- dx工具目录
AndroidSdk路径/build-tools/版本/dx.bat
如图所示(推荐添加路径到系统环境变量):
执行dx --dex --output=Hello.dex Hello.class
将Hello.class 打包成 Hello.dex文件
4. 反编译.dex文件,生成.smali文件
- 需要使用 baksmali.jar ,可点击链接下载
- 将下载的jar包放在和.dex文件同一级目录下
- 执行
java -jar [jar的名字] d [*.dex]
例如:java -jar baksmali-2.5.2.jar d H.dex
- 在目录中会生成 out文件夹,里面包含了反编译出的 .smali文件