apk 的反编译
来源:互联网 发布:2016开淘宝店卖什么好 编辑:程序博客网 时间:2024/06/08 11:35
apk 的反编译
1. 得到 dex 文件
apk 文件是zip 压缩的。
windows 下,用winrar 可以直接打开apk 文件, 看到文件结构,并可看到一个.dex 文件, 用winrar 解压缩
linux 下,可用unzip 来解压. 例如, 解压xxx.apk 到abc 目录 : unzip xxx.apk -d abc
2. 得到 jar 文件
用dex2jar 可将dex 文件变成jar 文件。
2.1: 下载工具。dex2jar-2.0.zip // 目前是2.0
它包含windows 及 linux 下的工具
windows: dex2jar.bat classes.dex // 就会生成一个classes.jar
linux: d2j-dex2jar.sh classes.dex
.jar 文件是class 的zip 压缩包, 用步骤1提到的工具可解压缩
3. 得到java 文件
方法1: 用 jad 从class 得到 java 文件。 具体见前述文章
方法2: 不用解压jar 文件, 用 JD gui 工具直接打开jar 文件
第二种方法: 下载apktool,
我的是apktool1.5.2.tar.bz2 2.4 MB, 解压后是一个jar 文件
apktool-install-windows-r05-ibot.tar.bz2 380 KB, 解压后有一个bat 和 exe 文件
把两个文件解压后放在一起。 运行apktool 可以看到帮助
apktool d XXX.apk ABC 反编译XXX.apk到文件夹ABC
在解压后的文件夹中可以得到apk的xml配置文件
将“得到的class文件和得到的xml文件组合成一个android工程,即可得到完整的apk源码
问:
编译后的.class文件名中的$是什么意思
答:
存在匿名内部类编译后就出现这种情况
非匿名内部类
D:\gmate\Gmate-android2.0-1.9.14_dex2jar\com\simo\db\Tableinfo$account_table.class
D:\gmate\Gmate-android2.0-1.9.14_dex2jar\com\simo\db\Tableinfo$attachment_table.class
匿名内部类
D:\gmate\Gmate-android2.0-1.9.14_dex2jar\com\simo\phone\DialingCall$1.class
D:\gmate\Gmate-android2.0-1.9.14_dex2jar\com\simo\phone\DialingCall$2.class
1. 得到 dex 文件
apk 文件是zip 压缩的。
windows 下,用winrar 可以直接打开apk 文件, 看到文件结构,并可看到一个.dex 文件, 用winrar 解压缩
linux 下,可用unzip 来解压. 例如, 解压xxx.apk 到abc 目录 : unzip xxx.apk -d abc
2. 得到 jar 文件
用dex2jar 可将dex 文件变成jar 文件。
2.1: 下载工具。dex2jar-2.0.zip // 目前是2.0
它包含windows 及 linux 下的工具
windows: dex2jar.bat classes.dex // 就会生成一个classes.jar
linux: d2j-dex2jar.sh classes.dex
.jar 文件是class 的zip 压缩包, 用步骤1提到的工具可解压缩
3. 得到java 文件
方法1: 用 jad 从class 得到 java 文件。 具体见前述文章
方法2: 不用解压jar 文件, 用 JD gui 工具直接打开jar 文件
第二种方法: 下载apktool,
我的是apktool1.5.2.tar.bz2 2.4 MB, 解压后是一个jar 文件
apktool-install-windows-r05-ibot.tar.bz2 380 KB, 解压后有一个bat 和 exe 文件
把两个文件解压后放在一起。 运行apktool 可以看到帮助
apktool d XXX.apk ABC 反编译XXX.apk到文件夹ABC
在解压后的文件夹中可以得到apk的xml配置文件
将“得到的class文件和得到的xml文件组合成一个android工程,即可得到完整的apk源码
问:
编译后的.class文件名中的$是什么意思
答:
存在匿名内部类编译后就出现这种情况
非匿名内部类
D:\gmate\Gmate-android2.0-1.9.14_dex2jar\com\simo\db\Tableinfo$account_table.class
D:\gmate\Gmate-android2.0-1.9.14_dex2jar\com\simo\db\Tableinfo$attachment_table.class
匿名内部类
D:\gmate\Gmate-android2.0-1.9.14_dex2jar\com\simo\phone\DialingCall$1.class
D:\gmate\Gmate-android2.0-1.9.14_dex2jar\com\simo\phone\DialingCall$2.class
- android apk的反编译
- 反编译Android的apk
- Apk文件的反编译
- apk的反编译、修改
- android的反编译apk
- android apk的反编译
- apk的反编译
- apk 的反编译
- APK文件的反编译
- apk文件的反编译
- android的apk反编译
- apk反编译的方法
- apk的反编译
- Apk的反编译
- 反编译android的apk
- Android apk的反编译
- APK的反编译
- android apk的反编译
- BUG 和BUG_ON
- Java偏向锁实现原理(Biased Locking)
- (转)升级到cocos2d-x 2.0.2代码差异(重点为调用方法)
- linux 配置服务的命令service
- Java轻量级锁原理详解(Lightweight Locking)
- apk 的反编译
- (转)Cocos2dx中响应Android的Back(返回)与Menu(小房子)事件 && Cocos2dx自动释放粒子内存函数
- 22-EditPlus设置html文档的编码方式为utf-8,显示为乱码的解决
- 用 Maven 管理项目文件周期的技巧
- 东秦oj1005
- 第一滴血~自定义仿android的AutoCompleteTextView
- ftell函数
- 深入JVM锁机制
- 室内定位indoor location