阅读源码是最好的学习方法,下面我们以愤怒的小鸟为例,看看如何把一个android游戏反编译成可读的源码。
工具介绍:
1、apktool 这个工具用来解压xml文件
到http://code.google.com/p/android-apktool/downloads/list 下载前两个文件,并解压到Android SDK的platform tools 目录。
在命令行里的用法:
apktool d 你的apk.apk 解压到指定文件夹,例如:
apktool d F:\学习\android\反编译\愤怒的小鸟.apk F:\学习\android\反编译\愤怒的小鸟
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="1620" android:versionName="1.6.2" android:installLocation="auto" package="com.rovio.angrybirds"
xmlns:android="http://schemas.android.com/apk/res/android">
<application android:label="@string/app_name" android:icon="@drawable/icon" android:debuggable="false">
<activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:label="@string/app_name" android:name="com.rovio.ka3d.App" android:launchMode="singleTask" android:screenOrientation="landscape" android:configChanges="keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:name="com.burstly.lib.component.networkcomponent.burstly.VideoPlayerActivity" android:configChanges="keyboard|keyboardHidden|orientation" />
<activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:name="com.burstly.lib.component.networkcomponent.burstly.BurstlyFullscreenActivity" android:configChanges="keyboard|keyboardHidden|orientation" />
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation" />
<provider android:name="com.greystripe.android.sdk.AdContentProvider" android:exported="false" android:multiprocess="true" android:authorities="com.rovio.ka3d.AdContentProvider" />
<activity android:name="com.greystripe.android.sdk.AdView" android:configChanges="keyboard|keyboardHidden|orientation">
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.millennialmedia.android.MMAdViewOverlayActivity" />
<activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:name="com.millennialmedia.android.VideoPlayer" android:configChanges="keyboard|keyboardHidden|orientation" />
<supports-screens android:anyDensity="true" android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" />
<activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:name="com.burstly.lib.component.networkcomponent.jumptap.JumptapActivity" android:configChanges="keyboard|keyboardHidden|orientation" />
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="8" />
</manifest>
这就是我们加压后的AndroidManifest文件,我们看到愤怒的小鸟总共有8个activity
2、dex2jar 这个工具是将dex文件反编译成jar文件
到http://code.google.com/p/dex2jar/downloads/list下载这个工具,并将所有文件和文件夹加压到并Android SDK的platform tools 目录。
用法:
dex2jar F:\学习\android\反编译\classes.dex 这里是把dex文件反编译成jar文件,默认会在该目录生成一个classes_dex2jar.jar文件。
3、xjad 这个工具是将jar文件反编译成java文件
这是一个可视化的将jar文件反编译成java文件的工具,直接反编译jar会自动生成一个包含java文件的文件夹。
愤怒的小鸟源码下载:
http://dl.dbank.com/c0olagap0k
分享到:
相关推荐
Android 反编译apk 到java源码的方法.pdf
Android反编译apk到java源码的方法 Android反编译apk到java源码的方法可以分为两大类:第一类是使用apktool工具反编译apk文件,获取xml文件信息和资源图片;第二类是使用dex2jar和JD-GUI工具反编译dex文件,获取...
【AndroidKiller修复反编译源码卡死】这一主题主要涉及的是在使用AndroidKiller工具进行Android应用逆向工程时遇到的问题以及解决方案。AndroidKiller是一款常用的Android应用分析工具,它可以帮助开发者或安全研究...
标题中的“Android反编译工具包(最完整的Android反编译工具包)”表明这是一个集合了多种工具的资源包,用于帮助开发者和安全研究人员进行APK的反编译工作。 首先,让我们来了解一下反编译的基本概念。反编译是将已...
"Android反编译-全部工具包"提供了一个便捷的方式,将所有必要的反编译工具集合在一起,使得开发者无需分别下载和配置各个工具。下面,我们将详细介绍这个工具包中包含的组件及其用途。 1. **Apktool**:Apktool是...
本文将详细介绍两款常用的Android反编译工具——dex2jar和apk2java,以及如何利用它们获取APK中的Java源代码和资源文件。 一、dex2jar dex2jar是一款将Dalvik字节码(.dex)转换为Java字节码(.jar)的工具。...
这通常涉及到使用各种Android反编译工具。这些工具可以帮助开发者、安全研究人员或者逆向工程师理解已编译的Android应用程序的工作原理。下面我们将详细探讨一些常用的Android反编译工具及其应用。 1. **Apktool**...
本文将详细介绍“android反编译源码”这一主题,包括反编译工具、过程以及反编译后的源码分析。 1. **反编译工具** - **Apktool**:主要用于反编译APK中的资源文件,如XML布局、图片等,同时可以重新打包并签名。 ...
最新的android反编译工具以及相关的使用方法,这个版本为最新的工具。 1、把apk文件重命名为zip或者rar文件格式 2、解压后把classes.dex复制到dex2jar-2.0目录中 3、打开cmd,定位到dex2jar-2.0目录 4、运行d2j-dex2...
Jadx gui图形界面版 单文件绿色版 Android反编译工具查看apk源码 0.9.0老版本 之前用的1.0.0遇到加固apk会反编译卡死 该版本在Java1.8环境中,中文可能存在乱码问题,建议使用英文语言
在Android应用开发中,"android反编译资源获取"是一个重要的技术话题,它涉及到对APK文件的逆向工程,以便获取其中的资源文件,如图片、布局文件等。APKTool是这个过程中常用的一款工具,它允许开发者解包、反编译、...
"android反编译工具包,反编译和源码查看器" 提供了这样的可能性,让我们可以深入探究应用程序的内部结构。这个压缩包包含了针对QQ2012等应用的反编译结果,以及可能用于其他应用的反编译工具。 首先,我们要了解...
里面包含了一个反编译工具,一个查看反编译后的文件工具,一个详细说明文档,可以将一个android的apk文件反编译后查看作者的原代码,由于在代码打包成apk时的编译经过了处理,反编译后的代码不可能恢复到原来的代码...
Android反编译工具包合集,包含apktool,jd-gui-0.3.5.windows,dex2jar-0.0.9.15
本文将深入探讨Android反编译的相关知识,包括为什么要反编译,常用的工具,以及如何使用这些工具。 一、为什么进行Android反编译 1. 安全分析:开发者或安全研究人员可以通过反编译来检查应用是否存在潜在的安全...
在Android应用开发的世界里,有时候我们可能需要对APK文件进行反编译,以了解其工作原理、查看源代码或进行安全分析。标题为“Android反编译工具”的压缩包包含了一系列用于Android应用反编译的实用工具。下面将详细...
在Android开发领域,有时我们需要对APK文件进行反编译和源码查看,以便学习、调试或者优化现有的应用。本文将详细介绍2013年版本的Android最佳反编译工具和源码查看工具,以及如何使用这些工具来提升你的开发效率。 ...
在Android开发过程中,有时我们需要对已有的APK文件进行反编译和回编译操作,以便于学习、分析或修改其源代码。标题提到的"Android 反编译 回编译神器"是一款专为此目的设计的工具,它简化了原本繁琐的命令行操作,...