反编译

第一种方法:

反编译工具下载地址 http://pan.baidu.com/s/1eQvshwu
android的反编译要经过两个步骤:
1.把dex文件转为jar
2.jar转为Java
下面说说详细步骤:
1.解压apk文件,得到classes.dex文件,把这个文件拷贝到dex2jar工具的目录下
这里写图片描述
在命令行进入到这个目录,并执行如下命令:
这里写图片描述

执行完后,dex2jar文件夹中会多出一个文件:

这是一个jar文件,用jd-gui打开这个文件就可以看到Java源码了。

第二种方法

使用工具Android逆向助手

先提取dex->然后dex转jar

终极方法:

现在已经出了jadx工具,一键反编译,连清单文件都能反编译出来,非常的方便

反编译和回编译

1.去apktool官网下载apktool

2.使用命令java -jar apktool.jar d -f apk文件名 实现反编译,会生成一个同名文件夹

3.修改smali源码(baksmali用于把classes.dex转为smali文件,smali用于把smali文件编译打包为classes.dex)

  命令: java -jar baksmali.jar -o classout/ classes.dex 

      java -jar smali-1.3.2.jar classout/ -o classes.dex

4.使用命令java -jar apktool.jar b -f 反编译生成的文件夹名 实现回编译,会在里面dist中生成一个apk

原文地址:https://www.cnblogs.com/anni-qianqian/p/5461407.html