Android apk 反编译
来源:互联网 发布:股票个股分析软件 编辑:程序博客网 时间:2024/06/03 20:27
通过反编译第三方apk,学习和借鉴他人代码是学习Android的一个重要途径之一。下面是我对反编译的笔
记整理。
测试环境:windows。
使用工具:apktool(资源文件获取,可以提取出图片和布局文件)
dex2jar(源码文件获取,将class.dex转换成jd-gui可查看阅读的.jar文件)
jd-gui (源码查看,查看class.dex转化成.jar文件)
整合包下载:反编译工具整合包
反编译流程:
一,反编译得到res目录下的图片资源和xml文件、AndroidManifest.xml等
1、下载上面的整合包解压得到:apktool.rar,dex2jar-0.0.9.15.zip,jd-gui-0.3.5.windows.zip。将它们
分别解压到各自文件名的目录下。
2、apptool.jar解压后其目录三个文件:aapt.exe,apktool.bat,apktool.jar。将需要解压的apk拷贝到其
目录下,打开命令窗口,定位到 .\apktool 目录下执行命令:apktool.bat d -f mapp-debug.apk -o mapp
(命令中mapp-debug.apk 为要反编译的apk,mapp为输出文件夹,即:apktool.bat d -f [apk] -o [输出文件夹])
效果如图所示:
执行完成后查看mapp文件夹:就会发现有res文件夹,里面有我们需要的布局,图片,动画等。
二反编译得到Java的源码病查看源码
1、将mapp-debug.apk的后缀名.apk 改成.rar或.zip。然后解压到map-debug文件夹,得到我们所需的
classes.dex文件。
2、将classes.dex拷贝到 \dex2jar-0.0.9.15目录下,执行命令:dex2jar.bat classes.dex。在其目录下
会生成文件classes_dex2jar.jar。
3、使用jd-gui.exe取查阅classes_dex2jar.jar。
输入dex2jar.bat classes.dex效果如下:
使用jd-gui.exe查看源码效果图:
三,反编译过程种曾经遇到过的异常:
1、Exception in thread "main" brut.androlib.AndrolibException: Could not decode arsc file...
这个问题的原因是apktool版本过低,过去最新的apktool.jar替换原来的。最新apktool.jar下载
2、Input file was not found or was not readable
apktool升级到2.0以上时,使用方式已经替换,格式为:apktool.bat d -f [apk] -o [输出文件夹]
具体参数意义可输入apktool回车。
- 反编译Android apk文件
- 反编译ANDROID APK文件
- Android APK 反编译
- Android 反编译 .apk 文件
- 反编译android apk
- android中apk反编译
- 反编译Android apk
- android中apk反编译
- Android APK反编译
- android apk反编译
- android APK反编译
- Android APK反编译
- android apk反编译
- Android APK反编译
- Android 反编译 .apk 文件
- Android APK反编译
- Android APK反编译
- Android APK反编译
- Android TextView 跑马灯
- java通过名称获取实体bean
- ppp完全理解(一)
- Linux 教程学习资源网址
- 别被不断改变的需求轮奸
- Android apk 反编译
- 1090. Highest Price in Supply Chain (25)解题报告
- 使用usb-creator-gtk创建U盘安装盘/启动盘
- PL/SQL--循环控制语句
- 自定义View之onMeasure()
- fork()和vfork()的学习
- 命名服务
- Android 实现按钮监听的几种方式
- [JAVA学习笔记-49]线程运行状态机