Android APK反编译就这么简单 详解(附图)
2015-11-07 15:51
453 查看
测试环境:
win 7
使用工具:
CSDN上下载地址:
apktool (资源文件获取) 下载
dex2jar(源码文件获取) 下载
jd-gui (源码查看) 下载
Android反编译整合工具包(最新) 下载
官方最新版本下载地址:
apktool(google
code)
dex2jar(google
code)
jd-gui(google
code)最新版请见官方
工具介绍:
apktool
[b] 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看[/b]
dex2jar
作用:将apk反编译成java源码(classes.dex转化成jar文件)
jd-gui
[b] 作用:查看APK中classes.dex转化成出的jar文件,即源码文件[/b]
反编译流程:
一、apk[b]反编译得到程序的源代码、图片、XML配置、语言资源等文件[/b]
下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar ,将需要反编译的APK文件放到该目录下,
打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入以下命令:apktool.bat d -f test.apk test
(命令中test.apk指的是要反编译的APK文件全名,test为反编译后资源文件存放的目录名称,即为:apktool.bat d -f [apk文件 ] [输出文件夹])
说明获取成功,之后发现在文件夹下多了个test文件,点击便可以查看该应用的所有资源文件了。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
注意:如果你使用的是apktool2.0版本以上编译命令已经改变(以下面的为准)[b]即为:apktool.bat
d -s [apk文件 ] :[/b]
如果你想将反编译完的文件重新打包成apk,那你可以:输入apktool.bat b test(你编译出来文件夹)便可,效果如下:
之后在之前的test文件下便可以发现多了2个文件夹:
build
dist(里面存放着打包出来的APK文件)
二、Apk反编译得到Java源代码
下载上述工具中的dex2jar和jd-gui ,解压
将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到其中的额classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的classes.dex放到之前解压出来的工具dex2jar-0.0.9.15 文件夹内,
在命令行下定位到dex2jar.bat所在目录,输入dex2jar.bat classes.dex,效果如下:
在改目录下会生成一个classes_dex2jar.jar的文件,然后打开工具jd-gui文件夹里的jd-gui.exe,之后用该工具打开之前生成的classes_dex2jar.jar文件,便可以看到源码了,效果如下:
被混淆过的效果图(类文件名称以及里面的方法名称都会以a,b,c....之类的样式命名):
win 7
使用工具:
CSDN上下载地址:
apktool (资源文件获取) 下载
dex2jar(源码文件获取) 下载
jd-gui (源码查看) 下载
Android反编译整合工具包(最新) 下载
官方最新版本下载地址:
apktool(google
code)
dex2jar(google
code)
jd-gui(google
code)最新版请见官方
工具介绍:
apktool
[b] 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看[/b]
dex2jar
作用:将apk反编译成java源码(classes.dex转化成jar文件)
jd-gui
[b] 作用:查看APK中classes.dex转化成出的jar文件,即源码文件[/b]
反编译流程:
一、apk[b]反编译得到程序的源代码、图片、XML配置、语言资源等文件[/b]
下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar ,将需要反编译的APK文件放到该目录下,
打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入以下命令:apktool.bat d -f test.apk test
(命令中test.apk指的是要反编译的APK文件全名,test为反编译后资源文件存放的目录名称,即为:apktool.bat d -f [apk文件 ] [输出文件夹])
说明获取成功,之后发现在文件夹下多了个test文件,点击便可以查看该应用的所有资源文件了。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
注意:如果你使用的是apktool2.0版本以上编译命令已经改变(以下面的为准)[b]即为:apktool.bat
d -s [apk文件 ] :[/b]
如果你想将反编译完的文件重新打包成apk,那你可以:输入apktool.bat b test(你编译出来文件夹)便可,效果如下:
之后在之前的test文件下便可以发现多了2个文件夹:
build
dist(里面存放着打包出来的APK文件)
二、Apk反编译得到Java源代码
下载上述工具中的dex2jar和jd-gui ,解压
将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到其中的额classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的classes.dex放到之前解压出来的工具dex2jar-0.0.9.15 文件夹内,
在命令行下定位到dex2jar.bat所在目录,输入dex2jar.bat classes.dex,效果如下:
在改目录下会生成一个classes_dex2jar.jar的文件,然后打开工具jd-gui文件夹里的jd-gui.exe,之后用该工具打开之前生成的classes_dex2jar.jar文件,便可以看到源码了,效果如下:
被混淆过的效果图(类文件名称以及里面的方法名称都会以a,b,c....之类的样式命名):
相关文章推荐
- Android过度绘制深度优化---View提前绘制
- Android笔记(五十三) 利用有道OPENAPI做简单的翻译demo
- Android adb devices显示no permission
- 显示和隐藏动作栏(Action Bar)
- Android开发中用于替代Enum的@IntDef的使用
- 深入透析Android事件分发机制
- 【Android测试】【随笔】性能采集工具——小松鼠诞生记
- 怎样使用Android studio将极光推送集成
- android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
- AndroidStudio项目加入融云IMKit运行报错
- android中LayoutParams的简单理解
- android makefile 编译分析及 android.mk分析
- AndroidManifest.xml 文件中Activity节点中android:configChanges的作用
- android makefile(adroid.mk)分析
- android studio最简单的更新方式(像普通软件一样直接在线升级,谁说as不能在线升级的???)
- android 五大布局
- [Android通信]Volley(一):String、Json和Image请求
- Android 自定义控件打造史上最简单的侧滑菜单
- Android应用底部导航栏(选项卡)实例
- android bundle存放数据详解