博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android APK反编译教程(带工具)
阅读量:6827 次
发布时间:2019-06-26

本文共 1042 字,大约阅读时间需要 3 分钟。

工具介绍:

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

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

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

 

 

反编译教程:

apk反编译得到程序的源代码、图片、XML配置、语言资源等文件

下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar ,将需要反编译的APK文件放到该目录下,

打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入以下命令:apktool.bat d -f  1.3.8_yuedan_YueDan.apk  yuedan

(命令中1.3.8_yuedan_YueDan.apk指的是要反编译的APK文件全名,yuedan为反编译后资源文件存放的目录名称,即为:apktool.bat   d  -f    [apk文件 ]   [输出文件夹])

之后发现在文件夹下多了个yuedan文件,就说明获取成功了,点击便可以查看该应用的所有资源文件了。

Apk反编译得到Java源代码

下载上述工具中的将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到其中的额classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的在命令行下定位到dex2jar.bat所在目录,输入dex2jar.bat   classes.dex,效果如下:

在改目录下会生成一个classes_dex2jar.jar的文件,然后打开工具jd-gui文件夹里的jd-gui.exe,之后用该工具打开之前生成的classes_dex2jar.jar文件,便可以看到源码了,效果如下:

被混淆过的效果图(类文件名称以及里面的方法名称都会以a,b,c....之类的样式命名):

通过反编译,你可以获知该应用用到了什么第3方的库文件,它的代码是如何编写的等等。然而,如果该APK进行了混淆处理,那么你看到的类文件名称以及里面的方法名称都会以a,b,c....之类的样式命名,所以你可以想找到你所想得知的界面代码可能会十分费劲,找到了代码可能看起来也会很费劲,可是一个大体的思路会获得,有了这个思路,你就可以自己去尝试了。

 

转载于:https://www.cnblogs.com/dandanlovehamhamzo/p/4984579.html

你可能感兴趣的文章
[20190524]浅谈模糊查询.txt
查看>>
Swift 构造与析构
查看>>
Java基础学习总结--Java对象的序列化和反序列化
查看>>
关于application/x-www-form-urlencoded等字符编码的解释说明
查看>>
svn项目冲突时显示无法加载项目的解决方法
查看>>
node论坛练手
查看>>
[Python3网络爬虫开发实战] 1.7.3-Appium的安装
查看>>
magento 购物车 首页 显示
查看>>
mapper.xml
查看>>
模拟EventCenter,flash自带的事件机制的一个解耦框架,callback回调方式用于模块之间的通信...
查看>>
zookeeper选主算法二
查看>>
JS 中的require 和 import 区别整理
查看>>
stream& datagram socket
查看>>
vue.js 2.0开发(4)
查看>>
urb传输的代码分析【转】
查看>>
ftrace 简介【转】
查看>>
内置函数总结
查看>>
模块的查找顺序
查看>>
wpf中ListBox的选中项与ComboBox间的绑定
查看>>
web前台传参到后台出现错误
查看>>