APK反编译学习心得

Apk反编译之后,我们就可以看到开发这个应用使用的资源文件(图片)、layout、样式、相关的实现代码等,apk反编译也算是Android开发中一个比较实用的技巧吧,当我们对别人开发好的应用感兴趣时,我们就可以通过这种技术手段将别人打包好的apk进行反编译,继而可以看到我们感兴趣的内容,反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。

使用环境Windows

一,工具

1.1 、工具介绍

apktool:资源文件获取,可以提取出图片文件和布局文件进行使用查看

           dex2jar:作用:将apk反编译成java源码(classes.dex转化成jar文件)

           jd-gui:作用:查看APK中classes.dex转化成出的jar文件,即源码文件

 

1.2、工具下载

官方最新版本下载地址:

 apktool(google code)

dex2jar(google code)  

jd-gui(google code)最新版请见官方

 

CSDN加强版下载,支持分包的classes.dex转化成jar文件:

                   https://download.csdn.net/download/qq_35781317/11179271

二、使用

         win+R 打开 cmd 命令行,通过 cd 命令切换到apktool所在的文件夹,通过apktool命令反编译apk。

        

 

运行反编译效果:

反编译之后的目录如下:

可以看到,反编译之后生成的都是smali代码,而我对smali代码不熟悉,所以用dex2jar将应用中的dex转换成jar包,然后用jd-gui打开jar阅读代码,下面我们用dex2jar生成jar包。

 

将apk后缀名改为zip并解压:

可以看到,apk采用了分包技术,而用dex2jar并不能将所有的dex合并成一个jar包,所以这里我们采用了dex2jar的plus版本,输入命令如下:

用jd-gui打开classes.jar,如下:

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值