教你如何正确反编译apk

来源:互联网 发布:php中文手册 下载 编辑:程序博客网 时间:2024/06/05 21:05

本篇博文简单得以图文形式,描述下反编译apk。
一听反编译,有木有高大上的赶脚,哈哈,其实真的不是很难嘻嘻
这里写图片描述
简单的说下反编译apk的流程:
我们一般想要反编译一个apk,无非就是想获得三样东西
图片资源 ,XML资源,和代码资源

一.图片资源获取、

这个最简单啦,
这里写图片描述
首先准备一个apk,嘿嘿就是你啦这里写图片描述
这里是一个.apk后缀的文件,我们先把后缀改成,zip,
然后就成了这样这里写图片描述

化身压缩文件啦撒,然后打开后你就能看到如下图

这里写图片描述

从压缩文件里解析出来的有很多目录撒,有大家熟悉的res目录,还有一个待会着重介绍的
classes.dex文件

在res目录下,我们就可以获取到我们需要的图片了撒,是不是非常esay
这里写图片描述
这里写图片描述

二.XML资源获取

我们可以在刚刚的目录下看到很多.xml的文件,但是你以为这个也可以直接打开,你就太年轻了,当你尝试着打开的时候都是乱码或者是空白,那么我们要如何获取到这个xml资源呢,这时候就需要借助一个jar包,就是它,axmlprinter2.jar
这个东西你只要百度下,就能搜到。
然后 你把他放跟你解压出来的xml放在同级目录下,用cmd命令找到这个目录,
我这边的示例是将xml放在了E盘,大家根据情况,cd到自己解压出来的目录下,然后执行

java -jar AXMLPrinter2.jar xxxxx.xml>xxxxx.txt

如下所示
这里写图片描述

这个时候你就能获取到xml里的东西啦
这里写图片描述

是不是很easy嘻嘻
这里写图片描述

三.代码资源的获取
这个重中之重了,这也是我们主要想要获取到的东西。但是存在一点,这里能够正确反编译出来的只有未加密或者没有混淆的代码,如果想要反编译一些加密或者混淆后代码,俺们就需要其他途径解决了
首先要准备两样东西
这里写图片描述

dex2jar主要是用来把之前zip解压出来的classed.dex转成jar包的
jd-gui主要是用来打开Jar包的
这两个工具图中有下载链接哟,嘻嘻

具体讲下dex2jar怎么用

把dex2jar 解压后,然后将之前zip的classes.dex放到 dex2jar目录下,
注意,必须要跟dex2jar.bat是同级目录,如下图所示
这里写图片描述

然后又要用到cmd,cd 到dex2jar目录下,打命令行
dex2jar.bat classes.dex
这里写图片描述

然后你的目录里会多一个jar包这里写图片描述
多了一个 classes-dex2jar.jar的文件

然后在用jd-gui把jar包打开,最终apk的代码就这样被剥离出来了
这里写图片描述

是不是很有成就感啊,但是值得注意的是,如果你反编译的apk是已经被加密的,就会出现下面情况。下图是题主试图反编译支付宝apk得到的代码

这里写图片描述

所以,代码混淆很重要撒嘻嘻,下篇博客主要讲如何混淆自己的代码,不让别人那么轻易地把你的代码剥离出来

1 1
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 四个月小孩咳嗽怎么办 儿童流清水鼻涕怎么办 四个月婴儿发烧怎么办 宝宝体温36度怎么办 儿童感冒后鼻塞怎么办 儿童没感冒鼻塞怎么办 宝宝鼻塞怎么办3岁 儿童刚开始感冒鼻塞怎么办 婴儿感冒打喷嚏流鼻涕怎么办 宝宝感冒鼻涕多怎么办 一个多月的宝宝鼻塞怎么办 五个月宝宝鼻塞怎么办 4个月大婴儿鼻塞怎么办 四个月婴儿鼻塞怎么办 鼻炎晚上睡觉鼻塞怎么办 感冒了一直流鼻涕怎么办 感冒了鼻塞严重怎么办 两边鼻子都塞怎么办 感冒睡觉鼻子堵怎么办 孩子鼻炎流清水怎么办 小儿鼻涕流不停怎么办 老是单侧流鼻涕怎么办 有鼻炎光流鼻涕怎么办 一只鼻塞流鼻涕怎么办 鼻子总痒流鼻涕怎么办 鼻子总是痒流鼻涕怎么办 感冒后老流鼻涕怎么办 鼻炎犯了鼻塞怎么办 鼻炎鼻塞鼻涕多怎么办 猪鼻塞怎么办速效办法 感冒难受怎么办小窍门 来月经上火了怎么办 鼻血狂流不止怎么办 十三个月宝宝流鼻血怎么办 单侧鼻子出血怎么办 流鼻血停不下来怎么办 上火鼻血流不停怎么办 孩子经常出鼻血怎么办 6岁宝宝流鼻血怎么办 鼻血倒流到喉咙怎么办 博美感冒了怎么办