Apk反编译
来源:互联网 发布:淘宝获取店铺失败原因 编辑:程序博客网 时间:2024/04/28 10:32
作为一名Android开发人员,由于debug或者是某些别的需要,我们经常要去反编译一些apk,在这里讲述一下如何反编译一个apk文件。
首先我们需要下载三个反编译工具:
- apktool(用于反编译apk资源文件)
- dex2jar(用于把dex文件转为jar文件)
- jd-gui(jar反编译工具)
这里以一个decompile.apk的反编译过程为例:
这里有一个名为decompile的apk,我们想看看里面究竟有什么东西:
下载完apktool之后我们一般会发现下面三种东西:
前两个是脚本文件不用管它(话说博主在windows下载了Linux版本的……apktool文件居然是shell脚本……)
不过我们只要使用apktool,jar就好,问题不大。值得注意的是我们的Java环境需要事先配置好
使用java -jar apktool.jar使用apktool工具,使用命令d表示反编译,-f 参数为反编译的apk文件,-o 参数为文件输出地址:
然后在decompile文件夹中可以看到,所有的资源文件一目了然:
接下来我们来反编译apk的代码:
利用解压工具解压apk,从解压出的文件中找到class.dex:
利用dex2jar把它转化为jar文件:
然后在使用jd-gui打开得到的jar文件:
大功告成!这里博主反编译的apk只是随便生成的,并没有经过代码混淆,可读性还是非常强的。然而一般发布的apk都会有代码混淆的流程,变量都会被一些毫无意义的字符代替,反编译出来后能看懂多少就看各位的造化了~
值得注意的是直接解压出来的xml文件会是一团乱码,大伙也可以不使用apktool反编译,而是使用AXMLprinter2.jar来反编译xml文件:
直接解压后:
使用AXMLprinter2.jar:
java -jar AXMLPrinter2.jar AndroidManifest.xml > AndroidManifest.txt
得到的txt文件:
0 0
- APK 反编译
- apk反编译
- APK反编译
- APK反编译
- 反编译apk
- apk反编译
- ? apk反编译
- 反编译apk
- 反编译 apk
- APK反编译
- apk反编译
- apk反编译
- 反编译apk
- 反编译APK
- APK反编译
- APK 反编译
- 反编译APK
- Apk反编译
- 华为 9
- AngularJS Directive的使用
- 项目总结1——excel导出相关问题
- 一个JavaEE web servlet的进化
- Java基础之理解Annotation
- Apk反编译
- 两年多工作心得和体会
- spring mvc validation
- Light OJ 1307 - Counting Triangles(lower_bound)
- 【ZedBoard实验随笔】OV7670 摄像头 简单总结
- Android进程及管理总结
- 异步IO
- Snap.svg教程
- 项目总结2——mybatis配置的理解