如何生成smali文件

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文件

  1. 需要使用 baksmali.jar ,可点击链接下载
  2. 将下载的jar包放在和.dex文件同一级目录下
  3. 执行 java -jar [jar的名字] d [*.dex] 例如: java -jar baksmali-2.5.2.jar d H.dex
  4. 在目录中会生成 out文件夹,里面包含了反编译出的 .smali文件
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值