apk反编译

针对没有混淆的android应用,我们可以很方便的做到反编译查看源代码以及修改源代码,主要用到工具为apktool,dex2jar和jd-gui。


1. apktool

下载地址:https://code.google.com/p/android-apktool/

主要作用为反编译apk为res文件和smali文件,通过修改smali文件然后打包会apk再签名,我们可以做到修改原apk的资源文件和代码逻辑。

用法为

apktool d Settings.apk
可以看到在Settings.apk目录生成一个新的目录,包含该apk的所有res文件,manifest文件,smali文件。


2. dex2jar

下载地址:https://code.google.com/p/dex2jar/

主要作用为反编译apk为jar文件,之后可以通过jd-gui工具看到源码。

用法为

./d2j-dex2jar Settings.apk

该命令会在Settings.apk目录生成Settings_dex2jar.jar文件。

3. jd-gui

下载地址:http://jd.benow.ca/

主要作用为查看jar文件对应的源码。

用法为

jd-gui Settings_dex2jar.jar

之后就可以看到源码。

在ubuntu 14.04 64位系统下,可能会提示找不到找不到libgtk-x11-2.0.so.0 ,安装方式如下:

sudo apt-get install libgtk2.0-0:i386


针对具体需求,使用的工具会有所不同。

a. 查看apk的res文件,用apktool解包即可

b. 查看源码实现,用dex2jar工具转化为jar文件,再用jd-gui工具查看jar文件即可

c. 修改源apk,则一般会通过apktool解包为smali文件,同时用dex2jar和jd-gui查看源码逻辑,方便修改smali文件,之后再通过apktool将修改后的res和smali文件打包回apk,再利用其它工具签名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值