Ubuntu Linux APK文件的反编译

原文:http://www.linuxidc.com/Linux/2012-02/52953.htm

apk文件的反编译,需要的工具apktool(反编译资源文件)和dex2jar-0.0.7.9-SNAPSHOT(反编译源码)

1.配置apktool

在命令行输入下面命令(只输入$以后的命令语句)

www.linuxidc.com@linuxidc:~$ sudo ln -s /home/ww/apktool/apktool(自己的apktool文件所在的位置) /usr/bin/apktool (配置全局)

www.linuxidc.com@linuxidc:~$ apktool

(注:

1.如果此时命令行打印出一些配置命令,则apktool已经配置成功。

2.如果此时命令行下面的抛出异常,则说明当前电脑的jdk的版本过低,配置成适合apktool的即可。

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

2.反编译的目标apk文件

1).反编译资源文件

命令行进入要反编译的apk文件所在的文件夹

www.linuxidc.com@linuxidc:~$ apktool d xxx.apk(apk路径)ABC(文件夹名称,这是自命名,可以不写,如果不写,则默认当前apk的文件名)

2).反编译源码(反编译class.dex)

命令行进入dex2jar-0.0.7.9-SNAPSHOT根文件夹

首先解压目标apk文件,得到class.dex。把class.dex拷贝到dex2jar-0.0.7.9-SNAPSHOT文件夹中

命令行执行

www.linuxidc.com@linuxidc:~$sh dex2jar.sh classes.dex 

执行完毕之后,会在dex2jar-0.0.7.9-SNAPSHOT文件夹中生成一个classes.dex.dex2jar.jar的文件,这个文件就是反编译源码的压缩文件。

3.查看反编译之后的源码

由于反编译之后的源码是.class文件,所以要用专有的软件才能看。

解压classes.dex.dex2jar.jar文件,用JD-GUI工具查看就可以了。

时间: 2024-09-18 17:22:58

Ubuntu Linux APK文件的反编译的相关文章

Android如何防止apk程序被反编译

作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来. Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹 proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代码,从 而达到保护代码的作用. 下面具体说一说怎么样让SDK2.3下的proguard.cfg文件起作用

别人的android应用XXXX,dex如何打开?有没有像普通java ,class文件那样反编译东东?

问题描述 别人的android应用XXXX,dex如何打开?有没有像普通java ,class文件那样反编译东东? 解决方案 推荐 APKTOOLhttp://code.google.com/p/android-apktool/解决方案二:来看我的blog:Android 反编译资料整理http://rayleeya.iteye.com/blog/841076解决方案三:我用了一个jad的反编译的东西 到网上搜搜

Eclpise3.3中使用JadClipse对class文件的反编译

1.下载最新版本的JadClipse ,将jad功能放到eclipse上的插件 http://jadclipse.sourceforge.net/wiki/index.php/Main_Page 2.在你的eclipse目录建立一个/links/jadclipse/eclipse/plugins 就这样建立一个目录,将刚才下载的jar放在这个目录里面 3.在你的eclipse目录/links/建立一个文件,名字叫 jadClipse.txt,内容如下 JadClipse.txt path=./l

Android如何防止apk程序被反编译(尊重劳动成果)_Android

作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来. Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一proguard文件夹 proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代码,从而达到保护代码的作用. 下面具体说一说怎么样让SDK2.3下的proguard.cfg文件起作用,先

Android如何防止apk程序被反编译(尊重劳动成果)

作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来. Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一proguard文件夹 proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代码,从而达到保护代码的作用. 下面具体说一说怎么样让SDK2.3下的proguard.cfg文件起作用,先

.jar文件已经反编译成.java的文件,如何再编译回.jar?

问题描述 我将一个.jar的文件反编译成了java文件,生成了N多的文件夹与.java的文件,修改了里面的代码后,如何将这些文件再编译成.jar文件呢? 解决方案 解决方案二:myeclipse里面不是可以打包成多种格式的包嘛解决方案三:找到主类运行完后将生成的class文件在dos下打成jar或者直接用eclipse打成jar包解决方案四:基本上是不可能的解决方案五:使用命令jar-u....u就是用来更新jar包中的内容的.

大家来讨论一下如何防止编译后的dll文件被反编译~~~~~

问题描述 最近在开发网站的时候因为有些加了限制但还不想被反编译,不知道用什么方法好,请大家讨论一下我使用了一下dotfuscator工具,但是老出错误,我的操作如下选择目录bin/*.dll全选生成模糊dll然后再使用ie浏览页面的时候忽然提示找不到App_Web_index.aspx.28963a75.dll比较郁闷 解决方案 解决方案二:请问有没有什么更高效更好用的防止反编译的方法呢解决方案三:.NET时代代码还有什么好保密的呢,大家都是用那个类库解决方案四: 解决方案五:不让别人看懂道可以

Android开发学习总结(六)—— APK反编译(转)

学习和开发Android应用有一段时间了,今天写一篇博客总结一下Android的apk文件反编译.我们知道,Android应用开发完成之后,我们最终都会将应用打包成一个apk文件,然后让用户通过手机或者平板电脑下载下来进行安装.正常情况下,Android应用打包成apk之后,就无法再看到开发这个应用时使用的资源文件以及代码了.但是我们通过网上提供了一些工具,还是可以将apk进行反编译的,apk反编译之后,我们就可以看到开发这个应用使用的资源文件(图片).layout.样式.相关的实现代码等,ap

Android APK反编译查看源码及资源文件

本文主要介绍如何反编译Android应用程序查看源代码.资源文件和xml文件以及修改后重新打包成APK.鼓励大家反编译去学习他人的设计而不是将应用换壳后混乱市场.也可以直接使用网友整理的 anti-droid. Android APK实际就是个Zip文件,可以解压缩后反编译查看源代码和资源文件.以下以微信为例: 我们可以右击APK文件,"打开方式"选择Winrar压缩文件管理器,截图如下: 是不是跟程序的目录结构很像,源码已经被压缩在了classes.dex文件中.这里我们可以直接查看