淘小兔

安卓apk文件的一款反编译软件,可以帮你解决在反编译apk修改文件时出现的build错误,使用smali和baksmali文件进行修改及打包可以避免此类错误出现,知识兔这附上了smali baksmali最新版2.1.3版,还有详细的教程攻略,欢迎参考。

smali baksmali使用教程

知识兔

android 合并apk和odex文件

前提:正确安装JDK和配置环境变量

需要这个apk所在的rom里面的一些jar文件,

都在/system/framework里面:core.jar, ext. jar, framework. jar, android.policy. jar, services. Jar。

当然,这五个是最基本的,有可能还不够,这种情况下面会讲到。

总共分四步:

1、把下载好的smali-2.0.3.jar 和baksmali-2.0.3.jar ,还有rom里面抠出来的5个jar,放到工作目录,然后apk和odex也放到一起。

2、分解odex文件为class文件。

将smali-2.0.3.jar 和baksmali-2.0.3.jar放在d:\odex文件夹下

命令:键入 d:回车 键入cd odex 回车

java -jar baksmali-2.0.3.jar -x a.odex\\a.odex喂odex文件的文件名在键入命令前务必正确安装JDK和配置环境变量

a.odex;处是你要分解的odex文件的名字,命令完成之后,会生成一个out文件夹,里面就是所有的class文件。如果出现问题,

比如什么异常,缺少包什么的,就更到rom里面把出错信息里面要求的包拿出来,放到当前目录下。

3、将class生成为classes.dex文件。

命令:java -Xmx512M -jar smali-2.0.3.jar out -o classes.dex

4、 把classes.dex放入apk里面。

使用baksmali及smali修改apk并打包的方法

知识兔

1、首先解压apk文件,获得classes.dex文件

202202062157405457660000

2.使用baksmali反编译classes.dex
命令为:java -jar baksmali.jar -o classout/ classes.dex

202202062157412073940001

3.反编译的smali文件存在./classout之中。

202202062157419200150002

4.此时对classout目录下的smali文件就可以进行修改了
修改过之后需要使用smali.jar将smali目录重新编译为classes.dex

202202062157425254310003

5.使用压缩工具将新生成的classes.dex塞入apk包替换原有的classes.dex

这里需要说明的就是使用baksmali.jar反编译的生成的smali文件使用的是baksmali语法,和apktool反编译生成的smali语法有些许的区别。

6.替换apk包中的classes.dex文件之后,需要对apk重新签名才能安装

202202062157431900310004

点击下载

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载