Android 学习Android技术知识Android进阶之旅

APK反编译-[Android_YangKe]

2017-08-15  本文已影响335人  Android_YangKe

想必大家都了解支付宝:“它是一款用户量过亿的产品,每个人多多少少在里面都会有一下自己的财富宝箱”。如果平均下来每个人的储蓄值是5000,那么5000乘以一个亿… 试想一下如果我们把支付宝给破解了,那么马先生(马云)是不是一纸老虎…

再试想一下成功破解支付宝后的场景,我就有动力学习反编译,反编译。

OK,反编译是一种应用安全反例,称之为计算机软件反向工程(Reverse engineering)大白话就是通过一些技术手段或者工具,逆向分析应用的架构、算法、以及实现原理,甚至源代码。

1.环境搭建
2.使用apktool反编译apk,随心所欲抓取自己需要的资源
3.使用jd-gui查看项目源码

环境搭建

Java环境检验

1.检查我们是否安装了Java环境(version>=1.7)。
2.终端中执行“java -version”命令,正常就会打印java版本号,以及build版本号,如找不到命令,我相信你有办法解决的。

环境配置

进行如下操作,需依托于科学上网,这个请自行准备。本文是基于Mac环境搭建的,Windows、Linux可以进官网进行配置。

安装Apktool
yangke.png

使用apktool反编译apk

终端输入 apktool d -f /Users/kexueyang/Desktop/Alipay.apk -o /Users/kexueyang/Desktop/apkfile

命令解析:

  1. “d”执行反编译的指令
  2. “-f”移除指定目录里的所有文件
  3. “/Users/kexueyang/Desktop/shouban.apk”表示“apk”文件路径
  4. “-o”标识一个目录,后面紧跟接收反编译文件的目录路径
  5. “/Users/kexueyang/Desktop/apkfile”接受反编译文件的目录

下图就是我们反编译后的文件,其中res目录中的layout、drawable、value等文件夹内容几乎是可以直接拿过来使用的,小伙伴们可以自行探索。

yangke.png
使用dex2jar生成xxx.jar

1.将原始apk文件重命名为“.zip”并解压获取dex文件
2.定位到dex2jar文件夹
3.执行dex2jar.bat xxx.dex

yangke.png

以上命令解析

使用jd-gui查看项目源码

1.打开刚刚我们安装好的jd-gui
2.将我们刚刚生成的jar文件拖入jd-gui

下图是使用jd-gui查看源码的部分视图,通过观察我们可以发现支付宝的大体框架、以及使用的部分技术,甚至部分核心源码。

yangke.png

分析:

工具总结:

其他反编译工具推荐:jadx
大致有以下优点:

如果有兴趣可以参考下
jadx下载地址:https://sourceforge.net/projects/jadx/

喜欢有帮助的话: 双击、评论、转发,动一动你的小手让更多的人知道!关注 帅比-杨

上一篇下一篇

猜你喜欢

热点阅读