如何反编译android的apk文件得到资源文件
来源:互联网 发布:播音软件 编辑:程序博客网 时间:2024/05/18 03:58
情形:自己想要某apk的资源,看看它是如何实现的。使用apkdec和Android逆向助手等反编译软件。
发现获取不了资源包的内容,也就是res的内容。不知道是不是他们的版本过低的原因。
于是使用下面的方法来获取apk中res资源包的内容。尝试了一下,成功的获取了。
如下:
首先下载apktool工具(apktool-install-windows-r04-brut1.tar.bz2和apktool1.4.1.tar.bz2):
官方下载地址:http://code.google.com/p/android-apktool/
得到如下文件:
下载完成后,解压apktool-install-windows到任意文件夹,例如,解压到F:\apktool目录下:
然后解压apktool到任意文件夹,解压完成后会得到一个apktool.jar文件,如下图:
最后把apktool.jar文件解压到apktool-install-windows同目录下:
解压完成后apktool.jar文件不能删除,之后还会用到。
然后我们把我们要反编译的apk文件(MyPolygon.apk)拷贝到apktool目录下:
打开一个命令行窗口,进入apktool目录下,输入如下命令:
这样在F盘的mypolygon就得到了我们想要的资源文件。mypolygon文件夹应该是不存在的文件夹,此命令会自动生成mypolygon文件夹;如果是已有文件夹,命令行会提示你添加-f 参数强制覆盖该文件夹。通过以上命令我们得到如下文件:
//------------------------------------自己------------------------------
apktool-install-windows-r04-brut1.tar.bz2
apktool_2.0.0rc3.jar
如果是jre1.6,则报错。
错误:Unsupported major.minor version 51.0(jdk版本错误)
java.lang.UnsupportedClassVersionError: org/apache/nutch/crawl/Crawl3 : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Exception in thread "main"
如果在win7下开发项目是使用的jdk版本和项目运行服务器jdk版本不同就会出现上面的问题。
解决方法:因为很多linux系统还不支持jdk1.7,所以要尽量避免使用jdk1.7开发程序,我将win7下的jdk重装为jdk1.6,然后将项目的java compiler改为jdk1.6,对项目进行重新编译问题就解决了。
修改项目java compiler的方法:在项目点右键->选择Perperties->在出现的菜单中选择Java Compiler->最上面选中Enable project Specific setting->然后将jdk改为jdk1.6->完成。
//---------------------------
(1)自己本机上安装的是jre1.6,直接下载jre1.7安装,无需卸载jre1.6。
(2)将JAVA_HOME改为jre1.7的安装目录即可。
(3)然后找楼上的方法,进行发编译就可以得到资源了。
- 如何反编译android的apk文件得到资源文件
- 如何反编译android的apk文件得到资源文件
- 如何反编译android的apk文件得到资源文件
- 如何反编译android的apk文件得到资源文件
- Android如何反编译APK与资源文件
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译得到Java源代码和资源文件
- VS2013(win8.1_64bit)配置OpenGL超级宝典第五版开发环境
- swift
- unity Inspector
- hdu 5139 Formula(BestCoder Round #21)
- 韦东山视频教程视频的章节和要点
- 如何反编译android的apk文件得到资源文件
- HDU 2100 Lovekey
- 第15周 项目3-玩指针(1)
- c语言基础学习的一些要点
- 修改svn默认端口号
- 构造函数不能有返回类型
- 命名空间
- UVa 11136 - Hoax or what(可重集)
- DirectX开发环境的配置