使用dex2jar反编译APK中的classes.dex

时间:2022-04-11 15:21:34

先说下写这篇博文的初衷。
为了应用的代码不直接被他人窥视,我们一般都会在代码的时候进行代码混淆,这样子可以将原来的包名、类名、参数名等给替换成无意义的字母。而我们怎么知道代码混淆起效果了呢,自己把应用的安装包反编译一下就可以了。
我使用的反编译工具是dex2jar,反编译之后,项目中的classes.dex会相应的生成classes-dex2jar.jar文件(可使用jd-gui查看,工具下载地址Java Decompiler)。

  1. 获取APK的classes.dex:打包得到APK文件,将扩展名改为rar,使用解压工具解压即可得到,将其拷贝到dex2jar的目录。
    使用dex2jar反编译APK中的classes.dex
  2. 打开命令窗口进入dex2jar目录,键入dex2jar命令(我的此命令文件大家可以看到是d2j-dex2jar.bat),回车即可。
    使用dex2jar反编译APK中的classes.dex使用dex2jar反编译APK中的classes.dex
  3. 查看结果,打开jd-gui,在其中打开上一步生成的classes-dex2jar.jar文件。
    使用dex2jar反编译APK中的classes.dex

好了,大家可以看到了,当然我这次没有设置代码混淆,大家可以尝试一下反编译啦。