Android反编译

记录一下反编译的历程

反编译要确保apk的源码没有混淆,否则反编译过后也没什么可用的东西

1.在线反编译

很简单,一个网站,把apk放入就可以,只不过编译速度较慢,较大的项目还是不要用这种方式

网址:http://www.javadecompilers.com/apk

2.apktool工具

主要介绍这种方式,最原始,最常见

需要一下工具

1.apktool,谷歌提供的编译工具,主要用来获取资源文件,网址:https://ibotpeaches.github.io/Apktool/install/ 

2.dex2jar,将classes.dex转化成jar文件,网址:http://sourceforge.net/projects/dex2jar/files/

3.jd-gui-windows,用来查看 jar 包里面的代码的一种工具,网址:http://jd.benow.ca/

我上传了三个工具的压缩包,也可以去下载,网址:https://download.csdn.net/download/zyz18813049204/16301808

工具下载好,开始

1.得到资源文件,上边说了,需要用到apktool工具

解压完我的资源可以得到apktool.bat、apktool.jar、aapt.exe,将需要反编译的apk放到一个目录里,打开cmd,定位到当前目录,输入以下命令:apktool.bat d -f  winsh.apk  -o text

winsh.apk就是你要反编译的apk,text就是输出的文件夹,这两个自定义,等待执行完毕,文件夹中会多处一个text文件夹,res文件夹就是资源文件了,这里的java类都是smali格式,无法识别

2.apk反编译得到java源码

将要反编译的apk后缀修改为.zip或.rar,解压,得到classes.dex文件,讲这个文件复制到dex2jar-2.0 文件夹内,然后打开cmd,定位到当前目录,执行d2j-dex2jar.bat classes.dex

执行完毕,在文件夹中会生成classes_dex2jar.jar文件,这个就是反编译后的java文件了

3.查看classes_dex2jar.jar文件

打开jd-gui.exe工具,open file直接打开classes_dex2.jar文件,现在就反编译完成了,这里会显示出所有apk中的代码,包括lib中依赖的jar包,注意,混淆过的包名方法名可能是abc什么的

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值