1 apk反编译
有时候,写不出来一个好的应用,或者没有思路,那么可以借鉴其他的apk,那么就有了反编译。
A 得到Java源代码
工具下载:需用到dex2jar和JD-GUI这2个工具
dex2jar下载地址:
http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip
JD-GUI下载地址:
windows版JD-GUI:
http://laichao.googlecode.com/files/jdgui.zip
Linux版JD-GUI:
http://laichao.googlecode.com/files/jd-gui-0.3.2.linux.i686.tar.gz
步骤:
1.首先找到Android软件安装包中的classes.dex
把.apk文件改名为.zip,然后解压缩,得到其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件
2.把classes.dex拷贝到dex2jar.bat所在目录。
在命令行模式下定位到dex2jar.bat所在目录,运行
dex2jar.bat classes.dex ,生成classes.dex.dex2jar.jar
3.运行JD-GUI工具(它是绿色无须安装的)
打开上面的jar文件,即可看到源代码
B 生成程序的源代码和图片、XML配置、语言资源等文件。
工具下载:
在http://code.google.com/p/android-apktool/下 载获得,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip两个包都要下。
步骤:
1.解压缩下载的两个文件包,apktool-install-windows-2.1_r01-1.zip解压缩后得到的包里有aapt.exe 和apktool.bat.(注意要把apktool-1.0.0.tar.bz2解压后的一个.jar 文件copy进来)
2.打开命令窗口 (开始 > 运行,输入cmd,回车。)进入到apktool.bat的文件夹里。
输入:
apktool d C:\***.apk C:\***文件夹
(命令行解释:apktool d 要反编译的文件 输出文件夹)
特别注意:你要反编译的文件一定要放在C盘的根目录里,
3.打开 C:\***文件夹 就可以得到我们学院的各种资源了。
三.将反编译完的文件重新打包成apk
很简单,只要输入:
apktood b c:***文件夹(你编译出来文件夹)
2 防止反编译
有时候,写的应用不想被别人那么容易破解,那么就只能对它进行包装了。
在android-sdk-windows/tools/一个proguard文件夹,proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代码,从而达到保护代码的作用。
让proguard.cfg起作用的做法很简单,就是在eclipse自动生成的default.properties文件中加上一句“proguard.config=proguard.cfg”就可以了,完整的default.properties文件应该如下:
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "build.properties", and override values to adapt the script to your
# project structure.
# Project target.
target=android-9
proguard.config=proguard.cfg
综合:经过防止反编译的加工,反编译后的文件只是部分能用的,有些很难看懂了。呵呵
转载地址:http://www.cnblogs.com/playing/archive/2010/08/11/1797696.html 谢谢原作者
分享到:
相关推荐
这篇“Android菜鸟日记25-android反编译”将带你走进Android反编译的世界,揭示APK背后的秘密。 首先,让我们了解什么是Android反编译。Android应用主要由Java语言编写,经过编译后生成Dalvik字节码(.dex文件),...
本知识分享将围绕"Android反编译工具包 图形界面 apk 一键反编译"这一主题展开,介绍如何利用特定工具进行APK的反编译,以及这些工具的工作原理和注意事项。 标题中的"Android反编译工具包"是指一系列专门用于解析...
"Android反编译示例包"是一个针对这一主题的资源集合,包含了多个APK文件和一个反编译工具,旨在展示如何在不干扰原有应用的基础上新增功能。 首先,让我们详细讨论一下“完全新增”这个概念。在Android开发中,...
"android反编译工具集合"就是一个这样的资源包,包含了可以帮助开发者进行APK逆向工程的实用工具。其中提及的“dex2jar-0.0.7.9-SNAPSHOT”是一个关键的子文件,用于将Dalvik Executable (DEX) 文件转换为Java字节码...
* 在反编译 APK 的过程中,可能会遇到一些防反编译的措施,例如一些 app 会进行防反编译的保护,但这并不影响我们获取源代码和资源文件。 Android APP 反编译是一种复杂的过程,需要使用多种工具和技术来获取源代码...
"Android反编译工具包"正为此目的提供了必要的资源和教程。以下是对这个主题的详细阐述: 一、反编译的必要性 反编译Android APK的主要原因有: 1. 学习与研究:通过查看他人的代码,学习新的编程技巧和设计模式。...
在IT行业中,Android应用开发是一项重要的技能,而“Android反编译工具”是开发者和逆向工程师们常用的一种技术手段。这些工具可以帮助我们查看、分析甚至是修改APK文件中的源代码,这对于调试、安全评估、学习他人...
"android反编译.zip"这个压缩包提供了实现这一目标所需的工具和步骤。下面,我们将深入探讨这些知识点。 首先,APK文件是Android应用的打包格式,包含了 Dex(Dalvik Executable)文件,这是Java字节码的优化形式,...
首先,我们需要理解什么是Android反编译。反编译是指将已编译的二进制代码转换回接近原始源代码的过程。对于Android应用,常用的反编译工具有如JD-GUI、dex2jar、Apktool等,它们能够解析.dex文件并展示Java源代码,...
Android反编译是Android开发中的一个重要领域,它主要涉及到对APK文件的逆向工程,以便查看、修改或分析其内部代码和资源。这在软件安全测试、漏洞挖掘、学习他人代码逻辑或优化已有应用等方面都有广泛应用。下面将...
首先,让我们深入了解一下Android反编译。反编译是将已编译的二进制代码转换回源代码的过程。在Android中,APK文件包含了Dex(Dalvik Executable)文件,它是Java字节码的特殊形式,运行在Dalvik或ART虚拟机上。为了...
这个“Android反编译工具下载”资料包正为此目的提供帮助,特别适合刚接触Android开发的新手。下面我们将深入探讨Android反编译的相关知识。 首先,了解为什么要进行Android反编译。当原始源代码丢失或不可用时,反...
dex2jar是一款常用的Android反编译工具,它能够将DEX(Dalvik Executable)文件转换为JAR文件,然后使用JD-GUI或者JD-Core等Java反编译器将JAR文件反编译回Java源码。为了防御这种情况,开发者可以采用以下方法: 1...
在Android应用开发的世界里,有时候我们可能需要对已有的APK文件进行逆向工程,以了解其工作原理...理解这个过程可以帮助开发者更好地学习他人的实现、进行安全审计,同时也提醒我们在编写代码时应考虑防反编译的策略。